sql的分类
1.静态sql:select * from emp where empno=7788;
--静态sql指在PL/SQL块中使用的sqL语句在编译时是明确的,执行的是确定对象
2.动态sql:select * from emp where empno='参数';
--动态sql是指在PL/SQL块编译时sql语句是不确定的,如根据用户输入的参数的不同而执行不同的操作
(参数可能是sql语句,数字,文字)
------动态sql-----
动态sql:就是把sql写在一个字符串里,在存储过程中解析字符串执行sql。
--(1)执行动态sql的几种方法
(1)&参数输入
(2)使用open-for,fetch和close语句(游标)
对于处理动态多行的查询操作,可以使用oPEN-FOR语句打开游标,
使用FETCH语句循环提取数据,最终使用CLOSE语句关闭游标。
(3)使用批量的动态语句
即在动态sql中使用BULK子句,或使用游标变量时在fetch中使用BULK,或在FORALL语句中使用
(4)使用系统提供的PL/soL包DBMs_sQL来实现动态sQL
(5)使用EXECUTE IMMEDIATE语句
包括DDL语句,DCL语句,DNL语句以及单行的sELECT语句。该方法不能用于处理多行查询语句
--动态sql的作用
(1)可以支持DDl语句,静态sql只能支持DML语句
(2)支持WEB引用程序的查询意愿
(3)可以将业务逻辑先放在表中&