我将以下脚本存储在 C#OracleCommand中。当我执行它时,我得到“在预期以下情况之一时遇到符号“/”:“错误。我正在尝试大量创建大量表,同时检查它们是否首先存在,如果存在则删除。BEGINEXECUTE IMMEDIATE 'DROP TABLE allexact';EXCEPTIONWHEN OTHERS THEN NULL;EXECUTE IMMEDIATE 'CREATE TABLE allexact(t_long long NULL,t_binFloat binary_float NULL,t_binDbl binary_double NULL,t_rowid rowid NULL,t_date date NULL,t_blob BLOB NULL,t_CLOB CLOB NULL,t_NCLOB NCLOB NULL)';END;//BEGINEXECUTE IMMEDIATE 'DROP TABLE chr_1';EXCEPTIONWHEN OTHERS THEN NULL;EXECUTE IMMEDIATE 'CREATE TABLE chr_1(chr_1 char(1) NULL,chr_2 char(2) NULL,chr_3 char(3) NULL,chr_4 char(4) NULL,...chr_60 char(60) NULL)';END;//此命令在 plsql 开发人员中运行良好,但在 C# 中作为命令执行时则不行。如果我在所有代码的底部只有 1 个异常,它可以正常工作,但是一旦遇到异常,那么(如预期的那样)其余代码将被跳过。如何将多个异常语句放入存储在 C# OracleCommand 变量中的 plsql 命令中?
1 回答

临摹微笑
TA贡献1982条经验 获得超2个赞
使用OracleCommand,您只能执行 1 个 SQL 语句或 1 个存储过程或 1 个匿名块(您的情况)。但是你通过了 2 个匿名块。因此错误。尝试将所有内容打包到 1 个块中
begin
begin
EXECUTE IMMEDIATE . . .
EXECUTE IMMEDIATE . . .
exception when
end;
begin
EXECUTE IMMEDIATE . . .
EXECUTE IMMEDIATE . . .
exception when
end;
end;
- 1 回答
- 0 关注
- 134 浏览
添加回答
举报
0/150
提交
取消