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_urlorder 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
jliang@ipinc.com
www.stbernard.com
www.ipinc.com