什么时候会用到动态sql语句,大家能举个例子吗? 什么时候会用到动态sql呢,最近小弟在学,但是具体什么时候会用大家能举几个例子吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 比如说select要从不同的表,表名是个变量的情况或者如in 变量之类的在存储过程中,如果要用到创建表之类的DDL语句,也要用到动态SQL的 http://topic.csdn.net/u/20080711/09/8f95292d-139a-4b7b-9103-ab038688164b.html此贴你可以参考下 另外一些情况比如说你有些SQL的条件是有一张表的字段拼接而成的就需要用动态sql 什么时候都可以用。example:DECLARE V_SQL VARCHAR2(1000);BEGIN EXECUTE IMMEDIATE 'create table test(n number)'; FOR I IN 1 .. 5 LOOP EXECUTE IMMEDIATE 'insert into test values(:1)' USING I; END LOOP; COMMIT;END;/ 1.DDL一定要用动态SQL来实现。2.对于一个SQL语句的where条件,是要经过其他处理(比如:if...else...判断后的)要用动态SQL。我补充两点。 如果PL/SQL块中需要执行DDL语句(例如 CREATE,ALTER,DROP语句)、DCL语句(GRANT,REVOKE),或者在PL/SQL块中需要执行更加灵活的SQL语句(例如在SELECT语句中使用不同的WHERE条件),那啊么就必须使用动态SQL。静态SQL和动态SQL的比较:1. 静态SQL是在编写PL/SQL块时直接嵌入的SQL语句;而动态SQL实在运行PL/SQL块时动态输入的SQL语句。2. 静态SQL性能要优于动态SQL,因此当编写PL/SQL块时,如果功能完全确定,则使用静态SQL;如果不能确定要执行的SQL,则用动态SQL ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 求一条sql语句,按条件查询过期的客户信息 监听程序当前无法识别连接描述符中请求的服务 SUSE 自带 HAE 安装ORACLE oracle怎么获取两个日期间的工作日? 急求如何远程用pb程序读写Oracle数据库? 入门级问题,请各位高手指点!很急,在线等!!分不够可以再加 怎么在查看的权限备份ORACLE数据库? 利用tnsping工具测试与数据库服务器的连接失败,请教指点! oracle空值算大于当前日期吗 嵌套执行SQL的问题 请教,将MS-SQL 转换为Orcale 多谢啦
select要从不同的表,表名是个变量的情况
或者
如in 变量之类的
在存储过程中,如果要用到创建表之类的DDL语句,也要用到动态SQL的
此贴你可以参考下
比如说你有些SQL的条件是有一张表的字段拼接而成的就需要用动态sql
example:DECLARE
V_SQL VARCHAR2(1000);
BEGIN
EXECUTE IMMEDIATE 'create table test(n number)';
FOR I IN 1 .. 5 LOOP
EXECUTE IMMEDIATE 'insert into test values(:1)'
USING I;
END LOOP;
COMMIT;
END;
/
2.对于一个SQL语句的where条件,是要经过其他处理(比如:if...else...判断后的)要用动态SQL。
我补充两点。
在PL/SQL块中需要执行更加灵活的SQL语句(例如在SELECT语句中使用不同的WHERE条件),那啊么就必须使用
动态SQL。静态SQL和动态SQL的比较:
1. 静态SQL是在编写PL/SQL块时直接嵌入的SQL语句;而动态SQL实在运行PL/SQL块时动态输入的SQL语句。
2. 静态SQL性能要优于动态SQL,因此当编写PL/SQL块时,如果功能完全确定,则使用静态SQL;如果不能确定要执行的SQL,则用动态SQL