Обсуждение: question on plpgsql block
Hi Gurus,
I tried a plpgsql block from the php.
example
a='begin
insert into table a values (....);
insert into table b values (....)
insert into table c values (...)
select into p_var ... from table where condtion
update a set column = <new value> where condition;
commit;
end;';
I works fine when I call this block from php, whereas, I tried to copy the same value from the command line prompt or PGadmin GUI utility. Then it says "ERROR: current transaction is aborted, commands ignored until end of transaction block"
Why?
Did we need to do any special step up to execute a block or blocks won't execue from command line mode? Please advise.
Regards
skarthi
Your friends are close to you. Keep them that way.
I tried a plpgsql block from the php.
example
a='begin
insert into table a values (....);
insert into table b values (....)
insert into table c values (...)
select into p_var ... from table where condtion
update a set column = <new value> where condition;
commit;
end;';
I works fine when I call this block from php, whereas, I tried to copy the same value from the command line prompt or PGadmin GUI utility. Then it says "ERROR: current transaction is aborted, commands ignored until end of transaction block"
Why?
Did we need to do any special step up to execute a block or blocks won't execue from command line mode? Please advise.
Regards
skarthi
Your friends are close to you. Keep them that way.
am Thu, dem 12.04.2007, um 15:44:19 -0700 mailte Karthikeyan Sundaram folgendes: > Hi Gurus, > > I tried a plpgsql block from the php. > > example > > a='begin > insert into table a values (....); > insert into table b values (....) > insert into table c values (...) > select into p_var ... from table where condtion > update a set column = <new value> where condition; > commit; > end;'; > > I works fine when I call this block from php, whereas, I tried to copy the > same value from the command line prompt or PGadmin GUI utility. Then it says > "ERROR: current transaction is aborted, commands ignored until end of > transaction block" > > Why? My guess: PHP treat each line separately and sends line by line to the server and adds the missing ';' if necessary. If you send this from the GUI the server received one big command with syntax-errors, because the missing ';' after some commands. Andreas -- Andreas Kretschmer Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header) GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net