如何用存储过程向一个表中加入字段,其中字段名、类型来源于存储过程的参数?

解决方案 »

  1.   

    动态sql
    v_str := 'alter table add '||colname||' '||coltype;
    execute immediate v_str;
      

  2.   

    我的存储过程如下
     ( tablename in varchar,colname in varchar ,coltype in varchar)
      as
        v_str varchar(200);
       begin
          v_str :='alter '||tablename||' add '||colname||'  '||coltype;
       execute immediate v_str;
    end;
    每次执行时发生下列错误,不知是什么原因?ORA-00940: 无效的 ALTER 命令 ORA-06512: 在"TJCJ.PROC_TEST", line 8 ORA-06512: 在line 1
      

  3.   

    v_str :='alter '||tablename||' add '||colname||'  '||coltype;替换为:
    v_str :='alter table  '||tablename||' add '||colname||'  '||coltype;
      

  4.   

    问题解决了,感谢bzszp(www.bzszp.533.net)