如果该表没有数据或为空,我试图删除该表,因此我在PostgreSQL中编写了此Statement,但遇到一个错误,提示syntax error near IF
。
我可以将其划分为2个不同的SQL语句,但是我想将其作为一个查询来运行。
IF (SELECT COUNT(*) FROM ${tableName}) > 0
BEGIN
DROP TABLE ${tableName}
END
我也尝试过:
IF (SELECT COUNT(*) FROM zzz > 0) THEN
DROP TABLE zzz
END IF
ERROR: syntax error at or near "SELECT"
LINE 2: SELECT COUNT(*) FROM zzz > 0
^
SQL state: 42601
Character: 7
答案 0 :(得分:2)
如果要使用SQL进行此操作,则必须使用DO
语句:
DO
$$BEGIN
IF (SELECT Count(*) FROM zzz) > 0 THEN
DROP TABLE zzz;
END IF;
END;$$;