SQLScript 支持使用 EXISTS 子句作为 IF 和 WHILE 语句中的条件。就像在标准 SQL 中一样,如果子查询返回非空结果集,则求值为 true,在其它任何情况下为 false。
IF EXISTS (SELECT * FROM mytab WHERE date = :d) THEN
...
END IF
--
IF NOT EXISTS (SELECT * FROM SYS.TABLES WHERE schema_name = :schema AND table_name = :table) THEN
...
END IF
--
WHILE :i < 100 AND EXISTS (SELECT * FROM mytab WHERE a = :i) DO
i = :i + 1;
...
END WHILE
--
WHILE NOT EXISTS (SELECT * FROM mytab WHERE a > sfunc(:z).r2) DO
...
END WHILE