Oracle SQL 开发人员:运行 脚本,出现错误继续
Oracle SQL Developer: run script, continue on error
我正在使用 SQL Developer 20.2 到 运行 Oracle 12c 数据库更新的批处理脚本。我将脚本文件拖放到编辑器 window 中,然后点击按钮“运行 脚本 (F5)”。出于某种原因,如果脚本 运行 出现错误(DDL 语句 - 没有显式抛出 PL/SQL 函数),程序将停止。
示例:
drop sequence my_seq; -- sequence may not exist yet
create sequence my_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999999999
cache 100
cycle;
drop
语句可能会出错,因为序列不存在。 SQL*Plus 忽略该错误并继续 运行 脚本,但 SQL 开发人员停止执行导致补丁更新不完整。
我能做什么?
SqlDeveloper 默认在发现错误时停止。您可以使用此更改该行为:
whenever sqlerror continue;
drop sequence my_seq; -- sequence may not exist yet, in case of error continue
-- then we want to stop in error
whenever sqlerror exit failure;
create sequence my_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999999999
cache 100
cycle;
示例
说明
whenever sqlerror continue
指示脚本无论发生什么错误都继续
whenever sqlerror exit failure
指示脚本在出现错误时停止并退出执行。
参考可用的命令和选项
这不应该发生。默认情况下 SQL 开发人员运行编辑器的全部内容或您按 F5 时选择的任何内容。
drop sequence my_seq;
create sequence my_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999999999
cache 100
cycle;
F5
您可以看到删除失败,但它会继续创建。一切尽在其中 'go'
我正在使用 SQL Developer 20.2 到 运行 Oracle 12c 数据库更新的批处理脚本。我将脚本文件拖放到编辑器 window 中,然后点击按钮“运行 脚本 (F5)”。出于某种原因,如果脚本 运行 出现错误(DDL 语句 - 没有显式抛出 PL/SQL 函数),程序将停止。
示例:
drop sequence my_seq; -- sequence may not exist yet
create sequence my_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999999999
cache 100
cycle;
drop
语句可能会出错,因为序列不存在。 SQL*Plus 忽略该错误并继续 运行 脚本,但 SQL 开发人员停止执行导致补丁更新不完整。
我能做什么?
SqlDeveloper 默认在发现错误时停止。您可以使用此更改该行为:
whenever sqlerror continue;
drop sequence my_seq; -- sequence may not exist yet, in case of error continue
-- then we want to stop in error
whenever sqlerror exit failure;
create sequence my_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999999999
cache 100
cycle;
示例
说明
whenever sqlerror continue
指示脚本无论发生什么错误都继续whenever sqlerror exit failure
指示脚本在出现错误时停止并退出执行。
参考可用的命令和选项
这不应该发生。默认情况下 SQL 开发人员运行编辑器的全部内容或您按 F5 时选择的任何内容。
drop sequence my_seq;
create sequence my_seq
start with 1
increment by 1
minvalue 1
maxvalue 9999999999
cache 100
cycle;
F5
您可以看到删除失败,但它会继续创建。一切尽在其中 'go'