2013-05-14 117 views
1

我對MSSQL非常熟悉,但今天我需要使用一些postgres的東西。最終目標是返回其他地方使用的表的新ID,但由於我不熟悉Postgress的語法,因此我似乎遇到了一些麻煩。Postgres新手。你能幫我幾個簡單的說明嗎?

問題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 

回答

1

快速小號在谷歌搜索給出了以下答案。

How do you use variables in a simple PostgreSQL script?

它看起來像你基本上在查詢聲明的匿名在線pgSQL函數。也看起來它是Postgres 9的新功能。

+0

你對搜索條件使用了什麼?我也搜索了postgres變量,發現postgres文檔看起來沒有像在該鏈接中使用的語法(但是,這確實奏效,謝謝!) – DJTripleThreat

+0

我在Google的搜索條件是'postgres declare variable query'。很高興它的工作。 – digitaljoel