postgresql使用IF语句INSERT INTO

时间:2013-07-09 10:23:48

标签: postgresql

postgresql中,如何{strong> column.b 中的INSERT值来自 column.a 来自同一个表

IF column.a = 1 then column.b = foo, 
IF column.a = 2 then column.b = bar,
IF column.a = 3 then column.b = good,
IF column.a = 4 then column.b = bad

2 个答案:

答案 0 :(得分:5)

INSERT不会将值插入列中。它会在表中插入新行。相反,您需要使用UPDATE statement。您还需要一些ifs inside

答案 1 :(得分:3)

如果该行已存在,则不需要INSERT。你需要这样的UPDATE

UPDATE your_table
SET b = CASE 
        WHEN a = 1 then 'foo'
        WHEN a = 2 then 'bar'
        WHEN a = 3 then 'good'
        ELSE 'bad'
        END
WHERE some_condition = 'true';