我对 MSSQL 非常熟悉,但我今天需要处理一些 postgres 的东西。最终目标是返回表的新 id 以供其他地方使用,但由于我不熟悉 postgress 的语法,我似乎遇到了一些麻烦。
问题1:
在 MSSQL 中,我会:
delcare @test_number int
select @test_number = 42
print @test_number
在 Postgres 我正在尝试:
test_number integer;
test_number := 42
print test_number
但它不喜欢第一行:
ERROR: syntax error at or near "test_number"
LINE 1: test_number integer;
如果我能弄清楚这一点,我想我已经解决了我真正的问题,那就是做类似的事情:
问题2:
在 MSSQL 中,我会:
declare @new_id int
insert into some_table (data1. data2)
select @new_id = @@identity
-- now use @new_id for w/e you want
在 Postgres 我正在尝试:
new__id integer;
new_id := insert into some_table (data1, data2) returning id;
-- now use new_id for w/e you want