Postgresql - 插入时选择返回的东西
问题描述:
是否有可能运行选择查询,检查行是否存在,然后插入一些值?我想在一个查询中这样做。我想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个查询,先不要选择和第二嵌入值(如果第一次查询返回的东西)。
谢谢!
答
一般结构是:
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
'插入..选择存在的地方(你的选择qry)'?.. –