Oracle 查询:同一 SQL 文件中的两个/多个简单 IF 条件块未执行

问题描述 投票:0回答:1

SQL 文件包含两个简单的 IF 条件,但它没有在 TOAD 中执行:

IF (SELECT COUNT(COLUMNNAME1) FROM TABLENAME1 WHERE COLUMNNAME1 = 'UNIQUEID1') > 0)
BEGIN
(UPDATE QUERY1)
END;

IF (SELECT COUNT(COLUMNNAME1) FROM TABLENAME1 WHERE COLUMNNAME1 = 'UNIQUEID2') > 0)
BEGIN
(UPDATE QUERY2)
END;

但是这些都是单独执行成功的,请让我知道查询是否缺少某些内容。

执行成功,IF条件通过,更新数据库中的表

database oracle if-statement toad pls-00103
1个回答
0
投票

应该更像这样:

BEGIN
    IF (SELECT COUNT(COLUMNNAME1) FROM TABLENAME1 WHERE COLUMNNAME1 = 'UNIQUEID1') > 0) THEN
        UPDATE QUERY1;
    END IF;

    IF (SELECT COUNT(COLUMNNAME1) FROM TABLENAME1 WHERE COLUMNNAME1 = 'UNIQUEID2') > 0) THEN
        UPDATE QUERY2;
    END IF;
END;

您可能也想在此脚本中的某个位置提交更改。

© www.soinside.com 2019 - 2024. All rights reserved.