create or replace procedure test
is
begin
    execute immediate
        'insert into tt values("123")';
end test;执行时提示 ora-00984 列在此处不允许是为什么?应该怎么该啊?(不用using传人参数)

解决方案 »

  1.   

      单引号 123 试试吧  确定tt是一个只有1列  还是 vacher2 类型的表以后
      

  2.   

    用单引号不行吧,编译都通不过tt 是一张表,只有一列,varchar2 类型
      

  3.   

    execute immediate
        'insert into tt values('''||'123'||''')';
    用这个??
      

  4.   

    或者
    execute immediate
        'insert into tt values(''123'')';
      

  5.   

    感谢 CCTV_13() 这是为什么呢,能解释一下么?
      

  6.   

    oracle里面好像没有"
    要实现引号的嵌套,用两个 单引号'' 来实现
    尤其有多重的时候,最好用拼接 ||
      

  7.   

    你可以试下
    select "" from dual
      

  8.   

    CCTV_13() 
    你可以试下
    select "" from dual是什么意思试过了,说 ORA-01741: 非法的零长度标识