Re: problem with FOUND and EXECUTE in pl/pgsql
От | Ries van Twisk |
---|---|
Тема | Re: problem with FOUND and EXECUTE in pl/pgsql |
Дата | |
Msg-id | 9EAA02DB-B2DC-4CF6-ADC1-3AC848B5826C@rvt.dds.nl обсуждение исходный текст |
Ответ на | problem with FOUND and EXECUTE in pl/pgsql (Oleg Bartunov <oleg@sai.msu.su>) |
Список | pgsql-general |
Are you not confused somewhere?? First you insert INSERT INTO db VALUES(1,'one'); Then you do this : SELECT merge_db(1, 'two'); But for some reason this SQL select * from db; selects two for your text field... Ries On Jun 3, 2009, at 2:42 PM, Oleg Bartunov wrote: > Hi there, > > seems I don't understand how FOUND variable in pl/pgsql function > defined, > when I use EXECUTE of PERFORM. There is no problem when I use plain > SQL. > Below is a test I did for 8.4beta2. This is simplified script and I > can use plain SQL, but in my project I need EXECUTE. > > CREATE TABLE db (a INT, b TEXT); > INSERTYTT INTO db VALUES(1,'one'); > > CREATE OR REPLACE FUNCTION merge_db(key INT, data TEXT) RETURNS VOID > AS > $$ > BEGIN > EXECUTE 'UPDATE db SET b='||quote_literal(data)||' WHERE > a='||key; > RAISE NOTICE 'found:%',FOUND; > END; > $$ > LANGUAGE plpgsql; > > > After successfull update I expected TRUE, as with plain INSERT > (instead of EXECUTE), but FOUND is FALSE ! > > =# SELECT merge_db(1, 'two'); > NOTICE: found:f > merge_db ---------- > > (1 row) > =# select * from db; > a | b ---+----- > 1 | two > (1 row) > > > > > Regards, > Oleg > _____________________________________________________________ > Oleg Bartunov, Research Scientist, Head of AstroNet (www.astronet.ru), > Sternberg Astronomical Institute, Moscow University, Russia > Internet: oleg@sai.msu.su, http://www.sai.msu.su/~megera/ > phone: +007(495)939-16-83, +007(495)939-23-83 > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general regards, Ries van Twisk ------------------------------------------------------------------------------------------------- Ries van Twisk tags: Freelance TYPO3 Glassfish JasperReports JasperETL Flex Blaze-DS WebORB PostgreSQL DB-Architect email: ries@vantwisk.nl web: http://www.rvantwisk.nl/ skype: callto://r.vantwisk Phone: +1-810-476-4196 SIP: +1-747-690-5133
В списке pgsql-general по дате отправления: