`

PL/SQL块中如何调用DDL语句(sql)

    博客分类:
  • SQL
阅读更多

在PL/SQL块中不能直接调用DDL语句,可以利用下面的方法进行调用

方法一:动态SQL

execute immediate 'CREATE TABLE newtable AS
                                                                 SELECT *
                                                                    FROM table_my
                                                                  WHERE 1 = 2; ';

方法二:

可以利用ORACLE内置包DBMS_UTILITY中的EXEC_DDL_STATEMENT过程,由它执行DDL语句。


BEGIN

-- 创建用于记录事件日志的数据表

DBMS_UTILITY.EXEC_DDL_STATEMENT('

      CREATE TABLE eventlog(

             Eventname VARCHAR2(20) NOT NULL,

             Eventdate date default sysdate,

             Inst_num NUMBER NULL,

             Db_name VARCHAR2(50) NULL,

             Srv_error NUMBER NULL,

             Username VARCHAR2(30) NULL,

             Obj_type VARCHAR2(20) NULL,

             Obj_name VARCHAR2(30) NULL,

             Obj_owner VARCHAR2(30) NULL

      )

');       
分享到:
评论

相关推荐

    PL/SQL Developer 6.05注册版-1

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 <br>命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus...

    PL/SQL Developer 7.1.5 注册版-3

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 <br>命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus...

    pl/sql个人笔记.

    PL/SQL 块中只能直接嵌入SELECT,DML(INSERT,UPDATE,DELETE)以及事务 控制语句(COMMIT,ROLLBACK,SAVEPOINT), 而不能直接嵌入DDL语句 (CREATE,ALTER,DROP) 和DCL语句(GRANT,REVOKE)

    PL/SQL Developer

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。  命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同...

    PL/SQL Developer8.04官网程序_keygen_汉化

     至此,test_procedure存储过程已经完成,经过编译后就可以在其他PL/SQL块或者过程中调用了。  函数与过程具有很大的相似性,此处不再详述。 编辑本段 游标  游标的定义为:用游标来指代一个DML SQL操作返回的...

    pl/sql developer 9 + 注册机

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 命令窗口  使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同的感观...

    PL/SQL Developer v8.0.zip

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同的...

    ORACLE PL/SQL 基础教程及参考

    在PL/SQL模块中可以使用查询语句和数据操纵语句(即进行DML操作),这样就可以编写具有数据库事务处理功能的模块。 至于数据定义(DDL)和数据控制(DCL)命令的处理,需要通过Oracle提供的特殊的DMBS_SQL包来进行。PL/SQL...

    PL/SQL Developer 7.1.5 注册版

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。 <br>命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus...

    PL/SQL 基础.doc

    PL/SQL 基础,一个不错的 PL/SQL 参考手册。内容预览: ---- 第一章 PL/SQL 简介 ---- 1. Oracle应用编辑方法概览 1) Pro*C/C++/... : C语言和数据库打交道的方法,比OCI更常用; 2) ODBC 3) OCI: C语言和...

    PLSQL Developer 7.1.5

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。  命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同...

    Oracle数据库游标使用大全

    整理的Oracle数据库游标使用大全 ...较好的PL/SQL程序设计是在PL/SQL块中使用象DBMS_SQL这样的内建包或执行EXECUTE IMMEDIATE命令建立动态SQL来执行DDL命令,PL/SQL编译器保证对象引用以及用户的权限。。。。。。

    PL_SQL命令的使用大全.chm

    我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次...

    精通Oracle.10g.PLSQL编程

    PUSQL基础 3.1 PL/SQL块简介 3.1.1 PL/SQL块结构 3.1.2 PL/SQL块分类 3.2 定义并使用变量 3.2.1 标量变量 3.2.2 复合变量 3.2.3 参照变量 3.2.4 LOB变量 3.2.5 非PL...

    PLSQLDeveloper下载

    它允许SQL的数据操纵语言和查询语句包含在块结构(block_structured)和代码过程语言中,使PL/SQL成为一个功能强大的事务处理语言。在甲骨文数据库管理方面,PL/SQL是对结构化查询语言(SQL)的过程语言扩展。PL/SQL的...

    PLSQL Developer(免安装、汉化版,很好用的) 8.0.3.1510.rar

    另外,还含有历史缓存,您可以轻松调用先前执行过的SQL语句。该SQL编辑器提供了同PL/SQL编辑器相同的强大特性。  命令窗口——使用PL/SQL Developer 的命令窗口能够开发并运行SQL脚本。该窗口具有同SQL*Plus相同...

    PLSQL Developer 10.0.5.1710〖附中文补丁和注册机〗

    例如,数据库开发中您可以允许PL/SQL Developer的全部功能性,而数据库测试中您可以仅允许数据查询/编辑和对象浏览功能,而数据库制作中您甚至根本不希望PL/SQL Developer访问。利用PL/SQL Developer授权功能,您...

    PLSQL Developer 10.0.4.1708〖附中文补丁和注册机〗

    例如,数据库开发中您可以允许PL/SQL Developer的全部功能性,而数据库测试中您可以仅允许数据查询/编辑和对象浏览功能,而数据库制作中您甚至根本不希望PL/SQL Developer访问。利用PL/SQL Developer授权功能,您...

    pl_sql_developer使用技巧

    在PL/SQL Developer(下面简称PLD)中的每一个文本编辑窗口,如SQL Window,Command Window和Porgram Window,右键点击某个对象名称,会弹出一个包含操作对象命令的菜单,我们这里称之为右键菜单。 对象类型可以是表...

Global site tag (gtag.js) - Google Analytics