Oracle10g可以使用DBMS_UTILITY.exec_ddl_statement方法,11g这个方法没有了。请问改成啥了

解决方案 »

  1.   


      execute immediate 'SQL语句';
    --如:
      execute immediate 'alter session set nls_Date_format=''yyyy-mm-dd''';
      

  2.   

    楼主试试再来,DDL语句用execute immediate可以执行的
    BEGIN
       EXECUTE IMMEDIATE 'alter session set nls_Date_format=''yyyy-mm-dd''';
    END;
      

  3.   

    鄙视不做试验,直接下结论的淫。
    [TEST@myorcl] SQL>select sysdate from dual;SYSDATE
    --------------
    16-8月 -11[TEST@myorcl] SQL>begin
      2  execute immediate 'alter session set nls_Date_format=''yyyy-mm-dd''';
      3  end;
      4  /PL/SQL 过程已成功完成。[TEST@myorcl] SQL>select sysdate from dual;SYSDATE
    ----------
    2011-08-16