PL/SQL语言中的execute immediate 命令只能用于DDL语句的执行,对于DML和DQL语句却不能实际执行
2015-01-21 13:34
447 查看
PL/SQL语言中的execute immediate 命令只能用于DDL语句的执行,对于DML和DQL语句却不能实际执行,虽然将DML和DQL语句写成execute immediate 命令的形式执行时不会报错。
下面的例子来证明此结论:
SQL>select seq_article.nextval from dual;
seq_article.nextval
------------------------
51538
SQL>select seq_article.currval from dual;
seq_article.currval
------------------------
51538
SQL> begin
for ind in 1..(52243-51538) loop
execute immediate ' select seq_article.nextval from dual';
//该句执行后select seq_article.currval from dual;值不变,说明 execute immediate ' select seq_article.nextval from dual';未被执行(虽然未报错)
end loop ;
end;
SQL>select seq_article.currval from dual;
seq_article.currval
------------------------
51538
执行过上述PL/SQL结构体后,select seq_article.currval from dual;查看到seq_article.currval的值并未变化,故而说明
execute immediate ' select seq_article.nextval from dual';未被实际执行(虽然未报错)。
下面的例子来证明此结论:
SQL>select seq_article.nextval from dual;
seq_article.nextval
------------------------
51538
SQL>select seq_article.currval from dual;
seq_article.currval
------------------------
51538
SQL> begin
for ind in 1..(52243-51538) loop
execute immediate ' select seq_article.nextval from dual';
//该句执行后select seq_article.currval from dual;值不变,说明 execute immediate ' select seq_article.nextval from dual';未被执行(虽然未报错)
end loop ;
end;
SQL>select seq_article.currval from dual;
seq_article.currval
------------------------
51538
执行过上述PL/SQL结构体后,select seq_article.currval from dual;查看到seq_article.currval的值并未变化,故而说明
execute immediate ' select seq_article.nextval from dual';未被实际执行(虽然未报错)。
相关文章推荐
- SQL 语句 类型 DCL,DDL,DQL,DML
- 问题:PLS-00204: 函数或伪列 'EXISTS' 只能在 SQL 语句中使用;结果:PL/SQL中不能用exists函数?
- SQL四种语言形式(DML、DDL、DCL、DQL)的概念与区别
- ORACLE 学习之PL/SQL中DML和DDL语言使用
- SQL语句之DDL、DML、DCL、TCL四种语言
- pl/sql执行dml,ddl
- PL/SQL命令窗口里,过程,包,触发器等不能执行的解决办法
- Oracle Class2. SQL查询和SQL函数(Oracle数据类型,ddl,dml,dcl,事务控制语言tcl,sql操作符,sql函数,select语句,运算符,分析函数,临时表)
- 数据库基础--SQL 语言(DQL、DDL、DML、DCL)
- PL/SQL中的DML,DQL,DCL,DDL,TCL
- PL/SQL DEVELOPER 软件不能执行的命令
- SQL 语言的四大组成部分 DQL DML DDL DCL
- SQL四种语言:DDL,DML,DCL,TCL
- 《PL/SQL 语言开发参考手册》之四:PL/SQL 控制语句
- oracle 不能执行的sql语句
- SQLPLUS 下可以显示sql语句执行时间的命令
- 在oracle的PL程序块中执行一个varchar2类型变量中的sql 语句
- SQL的两个语言分类DML和DDL
- PL/SQL自动执行单条语句的设置
- 使用 DBMS_SQL包执行DDL语句