2017-06-21 75 views
0

是否有可能運行選擇查詢,檢查行是否存在,然後插入一些值?我想在一個查詢中這樣做。我想SELECT ... CASE ..然後,例如:Postgresql - 插入時選擇返回的東西

SELECT user_id, CASE when user_id > 0 then (INSERT INTO another_table ...) ELSE return 0 END 
FROM users WHERE user_id = 10 

現在我能做到這一點,2個查詢,先不要選擇和第二嵌入值(如果第一次查詢返回的東西)。

謝謝!

+1

'插入..選擇存在的地方(你的選擇qry)'?.. –

回答

1

一般結構是:

INSERT INTO another_table 
SELECT value1,value2..etc 
where exists (SELECT user_id FROM users WHERE user_id = 10) 

或在該特定情況下:

INSERT INTO another_table 
SELECT value1,value2..etc 
FROM users WHERE user_id = 10 

如果沒有這樣的用戶,沒有行會被選中,因此插入

+0

你是老闆!謝謝。 – Ridd