I have a function:
CREATE FUNCTION hasdup(text) RETURNS int4 AS '
declare
   v_id         int4;
   rat1         text;
   rat2         text;
   v_url        text;
   rec          record;

begin
     select id into v_id from urlinfo where url = $1;
     if NOT FOUND then
        return -1;
     end if;
     select codestr(v_id) into rat1;
     v_url:= $1||''%'';                
     for rec in select id,url from urlinfo where url like v_url order by
url loop
        raise notice ''%'',rec.url;
           select codestr(rec.id) into rat2;
           if rec.id <> v_id and rat1 = rat2 then
              update urlinfo set list = 1 where id = rec.id;
              return rec.id; 
           end if;
     end loop; 
     return 0;
end; 
' LANGUAGE 'plpgsql';


'where url like clause' is very slow in inside the function,
but when I directly use this statement in SQL, it is very quick,
is any quick way to return match:
where field like 'something%' inside the plsql function??


Jie LIANG

St. Bernard Software

10350 Science Center Drive
Suite 100, San Diego, CA 92121
Office:(858)320-4873

[EMAIL PROTECTED]
www.stbernard.com
www.ipinc.com



---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to