提问人:Lohe Takshan Navaneethan 提问时间:11/10/2023 最后编辑:BohemianLohe Takshan Navaneethan 更新时间:11/11/2023 访问量:19
Oracle 查询:同一 SQL 文件中的两个/多个简单 IF 条件块未执行 [duplicate]
Oracle Query: Two/Multiple simple IF condition blocks in the same SQL file not executing [duplicate]
问:
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 条件通过以更新数据库中的表
答:
0赞
pmdba
11/11/2023
#1
应该更像这样:
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;
您可能还希望在此脚本中的某个位置提交更改。
评论