PostgreSQL:当关系不存在时的异常

时间:2014-05-23 10:38:38

标签: postgresql

这里我试图在关系不存在时显示错误消息,然后发生异常。

示例

Create or replace function fun_test() returns void as
$$ 
Begin
     Truncate testtb;
     Exception 
     When does_not_exist then /* When testtb does not exist*/
          raise info 'Relation does not exists';
     ...

错误:无法识别的异常情况“does_not_exist”

2 个答案:

答案 0 :(得分:5)

您可以使用“undefined_table”处理。

EXCEPTION WHEN undefined_table THEN
     RAISE NOTICE '%; SQLSTATE: %', SQLERRM, SQLSTATE; 

答案 1 :(得分:4)

条件“does_not_exist”不存在。 请参阅http://www.postgresql.org/docs/9.3/static/errcodes-appendix.html

测试使用这样的代码......

EXCEPTION
  WHEN others THEN
    RAISE NOTICE '%; SQLSTATE: %', SQLERRM, SQLSTATE; 

如果你想截断更多的表我建议使用一个函数。