我需要创建一个查询,该查询在some know value
存在的情况下进行更新,或者在不存在的情况下创建一个寄存器。
我在下面尝试了一些类似的变体,但无法使用。
我怎样才能做到这一点?
临时:
UPDATE OR INSERT
mytable
SET
attribute1 = 'value1',
attribute2 = 'value2',
attribute3 = 'some known value'
WHERE
attribute3 = 'some known value'
最佳答案
@GarouDan您的传递仅用于更新查询,而在下面的代码中不使用插入查询。
首先发现是否有任何记录具有attribute3 =“一些已知值” ..
declare xattribute text;
select attribute3 into xsttribute where attribute3 = 'some known value'
if found
UPDATE mytable
SET
attribute1 = 'value1',
attribute2 = 'value2',
attribute3 = 'some known value'
WHERE
attribute3 = 'some known value'
else
insert into mytable(attribute1 ,attribute3 ,attribute3 ) values (value1,value2,some known value)