gpt4 book ai didi

postgresql - 为什么我不能在这里使用 IF?

转载 作者:行者123 更新时间:2023-11-29 12:50:06 25 4
gpt4 key购买 nike

如果表没有数据或为空,我试图删除和删除该表,所以我在 PostgreSQL 中编写了这个语句,但我遇到了一个错误,提示 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

最佳答案

如果您想使用 SQL 执行此操作,则必须使用 DO 语句:

DO
$$BEGIN
IF (SELECT Count(*) FROM zzz) > 0 THEN
DROP TABLE zzz;
END IF;
END;$$;

关于postgresql - 为什么我不能在这里使用 IF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56344038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com