sorry, i wrote the funciton wrong.  here is what i meant to write:

CREATE OR REPLACE FUNCTION public.sample(varchar)
 RETURNS SETOF record AS
'
DECLARE
row RECORD;
BEGIN
LOCK TABLE table1 IN ROW SHARE MODE;
FOR urlrow in EXECUTE \'SELECT * FROM "table1"\'
LOOP
       UPDATE "table1" SET col1=5 WHERE "col2"=6
       RETURN NEXT row;
END LOOP;
RETURN;
END;
'
 LANGUAGE 'plpgsql' VOLATILE;

thanx, amir

On Tue, 10 Aug 2004 15:53:33 -0700, Amir Zicherman
<[EMAIL PROTECTED]> wrote:
> will locks work inside functions or only in transactions?
> 
> will this lock? ....
> 
> CREATE OR REPLACE FUNCTION public.sample(varchar)
>  RETURNS SETOF record AS
> '
> DECLARE
> row RECORD;
> BEGIN
> LOCK TABLE "URL" IN ROW SHARE MODE;
> FOR urlrow in EXECUTE \'SELECT * FROM "table1"\'
> LOOP
>        UPDATE "table1" SET col1=5 WHERE "col2"=6
>        RETURN NEXT row;
> END LOOP;
> RETURN;
> END;
> '
>  LANGUAGE 'plpgsql' VOLATILE;
> 
> thanx, amir
>

---------------------------(end of broadcast)---------------------------
TIP 4: Don't 'kill -9' the postmaster

Reply via email to