Re: cursor and for update

Поиск
Список
Период
Сортировка
От Maciej Piekielniak
Тема Re: cursor and for update
Дата
Msg-id 1265912543.20060328111303@isb.com.pl
обсуждение исходный текст
Ответ на Re: cursor and for update  (Wiebe Cazemier <halfgaar@gmail.com>)
Ответы Re: cursor and for update  (Wiebe Cazemier <halfgaar@gmail.com>)
Список pgsql-sql
Hello Wiebe,

Tuesday, March 28, 2006, 2:42:20 AM, you wrote:

>>
WC> Fist, what's the error you get?

ERROR:  missing ".." at end of SQL expression
CONTEXT:  compile of PL/pgSQL function "uporzadkuj_reguly" near line 7

WC> Second, what does "rekord" do? You don't seem to use it.

Yes, i don't need it.

WC> Third, can you quote the language? I always say plpgsql without the
WC> quotes, but I'm not sure if using quotes is not allowed (and I'm too
WC> lazy to check :)).

WC> Also, why don't you have a "RETURNS VOID" function, which you can end
WC> with "RETURN;"

OK

WC> But what you might be stuck on is that you have a column and variable
WC> with the same name. Try to give the variables "tabela" and "lancunch"
WC> different names.
OK

WC> Lastly, if you use postgres 8, you can quote your function with $$
WC> instead of ' (meaning ...$$ AS DECLARE BEGIN END;$$...), so that you
WC> won't get the ugly syntax highligting that most editors will give you
WC> when quoting with '.
I have postgres 7.4


create or replace function uporzadkuj_reguly(text,text) RETURNS VOID AS
'
DECLARElicznik integer:=1;
reguly CURSOR FOR SELECT * from firewall ORDER BY id_firewall WHEREtabela=$1 and lancuch=$2 for UPDATE;
BEGINfor i in reguly LOOP  UPDATE firewall SET id_firewall=licznik WHERE CURRENT OF reguly; licznik:=licznik+1;END
LOOP;
return;
END;'
LANGUAGE 'plpgsql';  


-- 
Best regards,Maciej                            mailto:piechcio@isb.com.pl



В списке pgsql-sql по дате отправления:

Предыдущее
От: Achilleus Mantzios
Дата:
Сообщение: Proposed dbmirror change
Следующее
От: Wiebe Cazemier
Дата:
Сообщение: Re: cursor and for update