plsql中使用绑定变量
来源:互联网 发布:搜狗输入法linux 编辑:程序博客网 时间:2024/04/25 05:07
摘自《基于oracle的sql优化》
实例:
declare
vc_name varchar2(10);
begin
execute immediate 'select ename from emp where empno = :1' into v_name using 1234;
dbms_output.put_line(v_name);
end;
/
declare
v_sql varchar2(1000);
v_sql2 varchar2(10000);
n_num number;
n_num2 number;
begin
v_sql := 'insert into emp(empno,ename,job)values(:1,:2,:3';
execute immediate v_sql using 1234,'test','aaa';
n_num := sql%rowcount;
commit;
end;
/
declare
v_column varchar2(10);
v_sql varchar2(2000);
v_ename varchar2(200);
begin
v_column := 'empno';
v_sql := 'delete from emp where '|| v_column || ' = :1 returning ename into :2';
execute immediate v_sql using 123 returing into v_name;
dbms_output.put_line(v_name);
commit;
end;
/
pl/sql中批量绑定的用法
批量fetch的例子
declare
cur_emp sys_refcursor;
vc_sql varchar2(4000);
type namelist is table of varchar2(10);
enames namelist;
CN_BATCH_SIZE constant pls_integer :=1000;
begin
v_sql := 'seect ename from emp wehre empno > :1';
open cur_emp for vc_sql usring 7900;
loop
fetch cur_emp bulk collect into enames limit CN_BATCH_SIZE;
for i in 1 .. enames.count loop
dbms_output.put_line(enames(i));
end loop;
exit when enames.count < CN_BATCH_SIZE;
end loop;
close cur_emp;
end;
/
实例二:
declare
CN_BATCH_SIZE constant pls_integer :=1000;
type typ_result is record
(empno emp.empno%type,
ename emp.ename%type,
job emp.job%type,
mgr emp.mgr%type,
hiredate emp.hiredate%type,
sal emp.sql%type,
comm emp.comm%type,
deptno emp.deptno%type,
rid urowid);
type typ_results is varrray(1000) of typ_result;
results typ_results;
cur_emp sys_refcursor;
vc_sql varchar2(4000) := 'select empno,ename,job,mgr,hiredaste,sal,comm,deptno,rowid from emp where empno>:1';
begin
open cur_emp for vc_sql using 7000;
loop
fetch cur_emp bulk collect into results limit CN_BATCH_SIZE;
for i in 1 .. results.count loop
execute immediate 'update emp set sal=sal+1 where rowid = :1' using results(i).rid;
end loop;
exit when results.count<CN_BATCH_SIZE;
end loop;
close cur_emp;
commit;
end;
/
java中的绑定变量);
String query = "select empno,ename from emp where empno = ?";
pstmt = connection.prepare,
dStatement(query);
pstmt.setInt(1,1234);
rs = pstmt.exectueQuery();
java中批量绑定
String dml = "update emp set sal = ? where empno = ?";
psmt = connection.prepareStatement(dml);
pstmt.clearBatch();
for (int i=0; i<UPDATE_COUNT; ++i)
{
pstmt.setInt(1,123);
pstmt.setInt(2,234);
pstmt.addBatch();
}
pstmt.executeBatch();
connection.commit();
- plsql中使用绑定变量
- SQL/PLSQL:Oracle绑定变量使用实例 define undefine verify
- PLSQL中的变量使用
- PLSQL中的变量使用
- 在java中使用oracle绑定变量
- java中使用oracle的绑定变量
- 在java中使用oracle绑定变量
- oracle使用绑定变量
- 使用绑定变量
- 使用绑定变量
- 绑定变量的使用
- plsql 中使用case
- plsql中游标使用
- PLSQL中json使用
- 【PLSQL】绑定变量,动态SQL,硬解析和软解析
- ORACLE中对in操作使用变量绑定的方法
- Java中使用绑定变量的方法其好处
- JAVA 程序中使用ORACLE 绑定变量 bind variable
- 人生不值得做的30件事
- 做技术三年的体会
- 我应该投入经济生活
- 用Vue实现排序功能
- 学习HTML5 Application Cache
- plsql中使用绑定变量
- JAVA遍历目录
- shell脚本学习
- linux reset the root user password
- 在C#中调用Python方法
- jQuery validate 验证隐藏域
- 验证:oracle delete 数据库空间是可以重新被使用的
- RHEL7(124) 访问命令行
- 浅谈SQL Server 对于内存的管理