应该把 insert into emp values (p_emp_id,p_emp_name,p_emp_salary); 当字符串赋值给一个sqlstring,然后在execute sqlstring 吧。

解决方案 »

  1.   

    改成这样,还不行
    create or replace procedure ins_table_emp(p_emp_id number,p_emp_name varchar2,p_emp_salary number) as
    v_emp_id number:=p_emp_id;
    v_emp_name varchar2(20):=p_emp_name;
    v_emp_salary number:=p_emp_salary;
    begin
     insert into emp values (v_emp_id,v_emp_name,v_emp_salary);
    end ins_table_emp;
      

  2.   

    create or replace procedure ins_table_emp(p_emp_id number,p_emp_name varchar2,p_emp_salary number) as
    begin
     insert into emp(Col1,Col2,col3) values (p_emp_id,p_emp_name,p_emp_salary);
    end;
    end ins_table_emp;
      

  3.   

    shyming(Forest Robber)
    thanks finished!
      

  4.   

    create or replace procedure ins_table_emp(p_emp_id number,p_emp_name varchar2,p_emp_salary number) as
    sqlstring varchar2(100);
    begin
    --¡¡insert into emp values (p_emp_id,p_emp_name,p_emp_salary);
               sqlstring := 'insert into emp values ('||p_emp_id||','||p_emp_name||','||p_emp_salary||');';
               execute immediate sqlstring ; 
               commit;
    end ins_table_emp;这样就行了