我想编写一个在满足条件时插入到元组中的查询。例如:
表r:
CREATE TABLE r(A INT, B INT)表b:
CREATE TABLE b(C INT, D INT, E INT)如果b中没有像(1, 2, 2)这样的元组,我想将元组(1,1)插入到r中。
我尝试了这个查询,但得到了一个语法错误:
IF NOT EXISTS(SELECT * FROM b WHERE C=1 AND D=2 AND E=2)
Begin
INSERT INTO r VALUES(1, 1)
End有没有可能做到这一点?
发布于 2021-05-03 14:16:41
您可以使用下面的SQL查询。在上面的帖子中,您正在尝试使用过程,但这不是正确的方法;请按照给定的链接了解有关procedure的更多信息
INSERT INTO r (A,B)
SELECT * FROM (SELECT 1 AS A, 1 AS B) AS temp
WHERE NOT EXISTS (
SELECT * FROM b WHERE C=1 AND D=2 AND E=2
) LIMIT 1;发布于 2021-05-03 19:49:16
我建议这样写:
INSERT INTO r (A, B)
SELECT 1, 1
WHERE NOT EXISTS (SELECT 1 FROM b WHERE C = 1 AND D = 2 AND E = 2);https://stackoverflow.com/questions/67363844
复制相似问题