Postgresql Drop Table如果存在

时间:2013-10-29 12:44:04

标签: database postgresql function exception

我使用Postgresql,如果存在,我想删除Table。我的代码是

execute 'drop table if exists production.'|| layer_name || '' into result_var;
exception 
    when others then 
    execute 'insert into production.'|| layer_name || ' select * from staging.'|| layer_name ;
return 1;

但是如果不存在表格,则表示不允许执行。我不想进行任务执行

有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

DROP TABLE不会返回任何行,因此不得使用INTO子句。

此外,不要在异常块中使用WHEN OTHERS来处理任何错误。 在部署代码之后,调试和解决问题都很令人沮丧。

如果不是这个条款,你会收到错误消息,说明它为什么不起作用。