sql_text := 'truncate table aa';execute immediate sql_text;

解决方案 »

  1.   

    必須使用動態sql:
    execute immediate 'truncate ...';
      

  2.   

    存储过程里,不能直接用DDL语句。需要用動態sql执行
    ORACLE8 以上可以用 execute immediateexecute immediate ‘truncate table table_name ....’;
      

  3.   

    请楼主注意,在过程使用truncate table table_name
    要有此权限 grant drop any table to 当前用户
      

  4.   

    动态sql另法.
    BEGIN
       DBMS_UTILITY.EXEC_DDL_STATEMENT
          ('truncate table table_name');
    END;
    /
      

  5.   

    要执行动态语句
    execute immediate 比DBMS_UTILITY  好!楼上的方法不推荐!