how to convert "output deleted/inserted into" in My SQL to Postgres

Started by Tong Michaelabout 11 years ago2 messagesgeneral
Jump to latest
#1Tong Michael
michaelbleedgreen@gmail.com

hey guys, I'm kinda new to Postgres and I'm learning it now. I have work to
convert some stored procedures in MySQL to Postgres and I came across an
issue here that I can't solve:

update db.user
set Deleted = 1
, UpdateTerminal = @UpdateTerminal
, UpdateUser = @UpdateUser
, UpdateDate = @UpdateDate
output deleted.CreditTypeID
, deleted.CreditID
, deleted.Amount
into @ReconDeleted
where Deleted = 0
and ClientID = @ClientID;

I think it tried to update a couple of columns in table user and insert
values in other 3 columns into another table ReconDeleted at the same time.
I have issues converting "OUTPUT INTO" and "deleted" items, with my limited
knowledge about Postgres, I don't think we have those in pg. Can someone
tell me how to convert it? Thanks.

PS: it's my first time using this form, nice to meet you guys:)

--
View this message in context: http://postgresql.nabble.com/how-to-convert-output-deleted-inserted-into-in-My-SQL-to-Postgres-tp5838750.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

#2Marc Mamin
M.Mamin@intershop.de
In reply to: Tong Michael (#1)
Re: how to convert "output deleted/inserted into" in My SQL to Postgres

hey guys, I'm kinda new to Postgres and I'm learning it now. I have work to
convert some stored procedures in MySQL to Postgres and I came across an
issue here that I can't solve:

update db.user
set Deleted = 1
, UpdateTerminal = @UpdateTerminal
, UpdateUser = @UpdateUser
, UpdateDate = @UpdateDate
output deleted.CreditTypeID
, deleted.CreditID
, deleted.Amount
into @ReconDeleted
where Deleted = 0
and ClientID = @ClientID;

I think it tried to update a couple of columns in table user and insert
values in other 3 columns into another table ReconDeleted at the same time.
I have issues converting "OUTPUT INTO" and "deleted" items, with my limited
knowledge about Postgres, I don't think we have those in pg. Can someone
tell me how to convert it? Thanks.

Hi,

it seems that you are looking for UPDATE RETURNING:

http://www.postgresql.org/docs/9.4/static/sql-update.html

regards,

Marc Mamin

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general