PostgreSQL:使用JDBC跳过SQL客户端中的错误

时间:2015-06-11 11:42:43

标签: postgresql jdbc squirrel-sql

我想使用JDBC(而不是postgreSQL pslq客户端)在客户端中执行SQL脚本。在这个脚本中,我想做类似的事情:

skip errors on;

alter table foo ...;

skip errors off;

有没有办法用PostgreSQL> = 9.1?

执行此操作

1 个答案:

答案 0 :(得分:0)

我发现这个帖子有一个很好的解决方案usind DO块和错误代码: How to continue sql script on error?

为我的问题创建一个函数:

create or replace function continueOnError(v_sqlStatement text)
  returns void
  language plpgsql
  as ' 
  BEGIN
    execute v_sqlStatement;
  EXCEPTION
    WHEN invalid_schema_name
      OR undefined_table 
      OR undefined_column 
    THEN RAISE WARNING ''Continued on error sql statement: %'', v_sqlStatement;
  END;
';

...使用它:

select continueOnError('alter table test add constraint fk_test_valueid foreign key (valueid) references value(id)');