我非常熟悉 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
最佳答案
在 Google 上快速搜索得到以下答案。
How do you use variables in a simple PostgreSQL script?
看起来您基本上是在查询中声明了一个匿名内联 pgsql 函数。看起来它也是 Postgres 9 的新功能。
关于postgresql - Postgres 的新手。你能帮我做几个简单的陈述吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16550846/