用动态sql:
dbms_sql包或execute immediate

解决方案 »

  1.   

    动态SQL
    declare
      c_sql varchar2(500);
    begin
      c_sql:='create table a(a integer)';
      execute immediate c_sql;
    end;
    /
      

  2.   

    创建表可以用dbms_utitlity包,但请问如何在pl/sql中创建索引?
    我原来以为创建表和索引是一样的,但好像不是!
    用dbms_sql包或execute immediate好像不对,dbms_sql主要用于
    select语句。execute immediate我也试过,不行!
    谢谢!
      

  3.   

    如果是8.0.5的话,就只能用dbms_sql包来实现了
      

  4.   

    如果是8.0.5的话,就只能用dbms_sql包来实现了declare
      c_sql varchar2(500);
      CursorId integer;
      RCount integer;
    begin
            c_sql:='create table a(a number)';
            CursorId:=DBMS_SQL.OPEN_CURSOR;
            DBMS_SQL.PARSE(CursorId,c_sql,DBMS_SQL.NATIVE);
            RCount:=DBMS_SQL.EXECUTE(CursorId);
            DBMS_SQL.CLOSE_CURSOR(CursorId);
    end;