pl sql 学习笔记(六)再学动态sql
来源:互联网 发布:淘宝上组装电脑 编辑:程序博客网 时间:2024/06/05 02:55
1、 动态SQL和动态pl/SQL:
Execute immediate SQL_string
[into define_variable]—结构放到某一变量或者record中;
[using ]
如:
Begin
Execute immediate ‘sql 语句’ –这里必须用引号包围。
End;
用过程包装:
Create or replace procedure name(string in varchar2(100))
Is
begin
Execute immediate string
End;
这样这个过程就可以执行任何的SQL语句了。
2、 Using用法:
一般是: Execute immediate ‘update ‘||table ||’ set salary= 10000 where employee_id =1506 ’;
增加using后:Execute immediate‘update ‘||table ||’ set salary :=salary where employee_id := employee_id ’ using 10000,1506 ;
3、 into :
Execute immediate ‘select a, b from table where c:=c ’ into l_a,l_busing 10;
4、 汇总一点:
Create or replace procedure name(name_in in varchar2(20))
Is
Sql_stringvarchar2(100);
Salary number;
Begin
Sql_string:=’select * from employee where name :=use_name
returning salary into :newsal’; --这里不用声明。
Execute immediate sql_string --这样就会将sql_string 与using 分开写;
Using name_in ,out salary --返回out salary
End;
注意的是 using null 是错误的,如果一定要传入null 只能通过申明没有赋初始值的变量如:
Salary number;
Execute immediate =’select * from employee where Salary := Salary’
Using number; ---这里number没有赋初值,所以是null。 但是不能直接用using null;
- pl sql 学习笔记(六)再学动态sql
- pl sql 学习笔记(六)再学动态sql
- PL/SQL学习笔记六
- PL/SQL学习六
- MyBatis学习笔记(六)动态sql
- MyBatis学习笔记(六)动态sql
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL 学习笔记!
- PL/SQL 学习笔记!
- PL/SQL学习笔记
- jquery常用注意事项
- zend发送邮件
- STM32 寄存器库和固件库
- com.microsoft.sqlserver.jdbc.SQLServerException:该语句没有返回结果集
- 可编辑的select 框
- pl sql 学习笔记(六)再学动态sql
- js四舍五入(round()方法)并保留小数点后N位的函数
- 在servlet通过xml文件访问properties文件
- xxx
- 项目经验:clear清除浮动样式
- uvalive3942(字典树)
- 一个C源文件到可执行文件 [反汇编-函数栈帧 编译 链接]
- java中的引用类型
- 正则非贪婪匹配 及 容易出现的错误