1

我对 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
4

1 回答 1

1

在谷歌上快速搜索给出了以下答案。

如何在简单的 PostgreSQL 脚本中使用变量?

看起来您基本上在查询中声明了一个匿名内联 pgsql 函数。看起来它对 Postgres 9 来说也是新的。

于 2013-05-14T19:23:30.423 回答