删除表(如果存在于PostgreSQL数据库中)

时间:2014-06-30 11:06:35

标签: postgresql

我试图删除表,如果它存在于PostgreSQL的当前工作数据库中。我正在尝试以下查询。

示例

var1 := 'IF EXISTS (select * from INFORMATION_SCHEMA.TABLES WHERE name = ''Table_'|| Suffix ||''') then
      DROP TABLE Table_'||Suffix||'';

execute var1;

但在IF附近收到错误。

1 个答案:

答案 0 :(得分:22)

execute执行SQL语句,而不是PL / pgSQL命令。 IF语句是PL / pgSQL构造。

无论如何,你可以使用

DROP TABLE IF EXISTS ...

(见the manual page for DROP)。