存储过程部分代码如:  vsql:='insert into com_sql(id,memo) values('||Vid||','||Vmemo||')';
    execute immediate vsql;
其中Vid和Vmemo是变量 ;执行时抛缺失逗号问题,高人帮解决。

解决方案 »

  1.   

    我估计你的memo字段是字符型,并且插入memo字段的内容包含了空格。对于char或varchar2之类的,需要在两侧再加单引号,改为这样试试:vsql:='insert into com_sql(id,memo) values('||Vid||','''||Vmemo||''')'; 如果id也是字符型的,做相应修改。
      

  2.   

    SQL> ed
    已写入 file afiedt.buf  1  declare
      2    vid number;
      3    vmemo varchar2(20);
      4    vSql varchar2(100);
      5  begin
      6    vid :=10;
      7    vmemo :='dddd';
      8    vsql := ' insert into test_02(id,name) values('||vid||','''||vmemo||''')';
      9    dbms_output.put_line(vsql);
     10    execute immediate vsql;
     11* end;
    SQL> /
    insert into test_02(id,name) values(10,'dddd')PL/SQL 过程已成功完成。SQL> commit;提交完成。SQL> select * from test_02;        ID NAME
    ---------- --------------------
             1 B2d2333
             2 Bdsdf232
             3 A1asdflksa
             4 ab&gt?ddd
             5 我是?????
             6 你是?达到
            10 dddd已选择7行。