SQL> grant alter any table to user_name;

解决方案 »

  1.   

    dbms_sql不能执行ALTER TABLE???
      

  2.   

    declare
      str varchar2(500);
    begin
      str:='alter table a add ab number';
      execute immediate str;
    end;
    这也是动态执行alter table,没问题的。
      

  3.   

    在ORACLE8.05中不能用EXECUTE的?
      

  4.   

    你已试过dbms_sql执行alter table有问题吗?
      

  5.   

    试试这种形式:
    CREATE OR REPLACE PROCEDURE test AS
      v_Cursor NUMBER;
      v_Str VARCHAR2(500);
    BEGIN
      v_Cursor:=DBMS_SQL.open_cursor;
      v_Str:='alter table a add abc number';
      DBMS_SQL.parse(v_Cursor,v_str,DBMS_SQL.V7);
      EXCEPTION
        WHEN OTHERS THEN
          RAISE;
    END;