EXECUTE IMMEDIATE Sqlstatement 时出错,ORA-00922: 缺少或无效选项
在Sql worksheet 里执行下面语句
declare v_suffix VARCHAR2(20) ;
v_sql VARCHAR2(30000) ;
begin
...
-- 创建任务描述表
v_sql := 'CREATE TABLE "FC_USER"."Tmp_' || v_suffix
|| ' ("ID" NUMBER(10) DEFAULT 0 NOT NULL
, "PID" NUMBER(10)
, "Title" VARCHAR2(255) DEFAULT '' NOT NULL
, "Content" VARCHAR2(400 ) DEFAULT '' NOT NULL
....
;
第47行 EXECUTE IMMEDIATE v_sql ;
...
end ;
搞不定了:
返回错误如下:
declare v_suffix VARCHAR2(20) ;
*
ERROR 位于第 1 行:
ORA-00922: 缺少或无效选项
ORA-06512: 在line 47
declare v_suffix VARCHAR2(20) ;
v_sql VARCHAR2(30000) ;
begin
...
-- 创建任务描述表
v_sql := 'CREATE TABLE "FC_USER"."Tmp_' || v_suffix
|| ' ("ID" NUMBER(10) DEFAULT 0 NOT NULL
, "PID" NUMBER(10)
, "Title" VARCHAR2(255) DEFAULT '' NOT NULL
, "Content" VARCHAR2(400 ) DEFAULT '' NOT NULL
....
;
第47行 EXECUTE IMMEDIATE v_sql ;
...
end ;
搞不定了:
返回错误如下:
declare v_suffix VARCHAR2(20) ;
*
ERROR 位于第 1 行:
ORA-00922: 缺少或无效选项
ORA-06512: 在line 47
...全文
相关推荐
execute immediate 用法研究
execute immediate 用法研究 为初学者打造。
Oracle中EXECUTE IMMEDIATE用法
Oracle中EXECUTE IMMEDIATE用法
EXECUTE IMMEDIATE用法小结
它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTE IMMEDIATE,因为它获的收益在包之上。 — 使用技巧 1. EXECUTE IMMEDIATE将不会提交一个DML事务执行,应该显式提交 如果通过EXECUTE IMMEDIATE处理DML命令, 那么在完成以前需要显式提交或者作为EXECUTE IMMEDIATE自己的一部分. 如果通过EXECUTE IMMEDIATE处理DDL命令,
ORACLE ORA
ORA这样的错误信息一般会显示在哪里了呢?是只出现在sqlplus里吗?我在操作的时候会出现这样的错误?这样的ORA错误会不会出现在日志里面呢?比如ORA-01650这样的错误。
动态SQL之EXECUTE IMMEDIATE
NULL 博文链接:https://wushuangyan26.iteye.com/blog/1306094



