你这是一个动态的sql语句 ,不知道8.0是否支持动态pl/sql
你用dbms_sql换来尝试.

解决方案 »

  1.   

    用dbms_sql怎么写啊,以前提过,每人回答啊忘各位帮忙.
      

  2.   

    CREATE OR REPLACE PROCEDURE exec(STRING IN varchar2) AS
        cursor_name INTEGER;
        ret INTEGER;
        str varchar2(500);
    BEGIN
       cursor_name := DBMS_SQL.OPEN_CURSOR;
       str:='create table test1 as select * from table_name';DDL statements are run by the parse call, which performs the implied commit.   DBMS_SQL.PARSE(cursor_name, str, DBMS_SQL.native);
       ret := DBMS_SQL.EXECUTE(cursor_name);
       DBMS_SQL.CLOSE_CURSOR(cursor_name);
    END;