帮我看下 ,我这里执行出错阿.create or replace procedure pro_job
(
in_name varchar2
)
as
v_name varchar(20);
begin
       v_name := to_char(in_name);
       execute immediate 'update job set sal=''1000'' where ename='||v_name||'';       commit;
end pro_job;   //创建成功了开始调用begin pro_job('JAMES'); end; 报错...
为什么阿,帮我看下哈

解决方案 »

  1.   

    create or replace procedure pro_job
    (
    in_name varchar2
    )
    as
    v_name varchar(20);
    begin
           v_name := to_char(in_name);
           execute immediate 'update job set sal=''1000'' where ename=''||v_name||'' ';
           commit;
    end pro_job;
    编译的是时候说  v_name   没有被使用到.帮我看下哈
      

  2.   

    create or replace procedure pro_job
    (
    in_name varchar2
    )
    as
    v_name varchar2(20);
    v_sql varchar2(500);
    begin
           v_name := to_char(in_name);
           v_sql := 'update job set sal=''1000'' where ename='''||v_name||'''';
           execute immediate v_sql;
           commit;
    end pro_job;这样就对了.....
    谁第一个来顶的话 就给你20分速度!!!!!!!!!!!!!!!