在CASE声明中插入INTO

Con*_*ion 7 sql db2

我想知道是否有可能在SQL代码的CASE语句中有一个INSERT INTO语句.

这是我正在尝试做的粗略伪代码:

SELECT (CASE (SELECT SomeValue FROM SomeTable)
            WHEN NULL THEN
                INSERT INTO OtherTable VALUES (1, 2, 3)
                (SELECT NewlyInsertedValue FROM OtherTable)
            ELSE
                (SELECT SomeOtherValue FROM WeirdTable)
        END),
       Column1,
       Column2
FROM BigTable
Run Code Online (Sandbox Code Playgroud)

mel*_*okb 11

您需要完成IF...THEN语句.大致相似的东西(不确定db2的语法):

SELECT @SomeValue = SomeValue FROM SomeTable

IF @SomeValue IS NULL
    INSERT INTO OtherTable VALUES (1, 2, 3)
    SELECT NewlyInsertedValue FROM OtherTable;
ELSE
    INSERT INTO OtherTable VALUES (1, 2, 3)
    SELECT SomeOtherValue FROM WeirdTable;
END IF;
Run Code Online (Sandbox Code Playgroud)