在 CASE 语句中插入 INTO [英] INSERT INTO in a CASE statement

查看:29
本文介绍了在 CASE 语句中插入 INTO的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道是否可以在 SQL 代码的 CASE 语句中包含 INSERT INTO 语句.

I'm wondering if it's possible to have a INSERT INTO statement within a CASE statement in SQL code.

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

Here's a rough pseudocode of what I'm trying to do:

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

推荐答案

您需要使用 IF...THEN 语句来完成.大致是这样的(不确定 db2 的语法):

You will need to accomplish with IF...THEN statements instead. Something roughly like this (not sure about syntax for 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;

这篇关于在 CASE 语句中插入 INTO的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆