我想使用JDBC(而不是postgreSQL pslq客户端)在客户端中执行SQL脚本。在这个脚本中,我想做类似的事情:
skip errors on;
alter table foo ...;
skip errors off;
有没有办法用PostgreSQL> = 9.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)');