绑定变量学习示例-未完待续

 

 

示例一 plsql中使用绑定变量

[oracle@Oracle11g 2016]$ cat 021801.sql  修改前的sql语句

declare

    type rc is ref cursor;

    l_rc rc;

    l_dummy all_objects.object_name%type;

    l_start number default dbms_utility.get_time;

    begin

     for i in 1..1000 loop

     open l_rc for

   'select object_name from all_objects where object_id='||i;

   fetch l_rc into l_dummy;

   close l_rc;

   end loop;

   dbms_output.put_line(round((dbms_utility.get_time-l_start)/100,2)||'seconds...');

   end;

  /

 

[oracle@Oracle11g 2016]$ cat 021802.sql 修改后的sql语句

declare  

    type rc is ref cursor;

    l_rc rc;

    l_dummy all_objects.object_name%type;

    l_start number default dbms_utility.get_time;

    begin

     for i in 1..1000 loop

     open l_rc for

   'select object_name from all_objects where object_id=:x' using i;

   fetch l_rc into l_dummy;

   close l_rc;

   end loop;

   dbms_output.put_line(round((dbms_utility.get_time-l_start)/100,2)||'seconds...');

   end;

  /

 

 

 

 

 

 

 

示例二 简单sql语句中使用绑定变量

定义变量

SQL> var a number;

 

给变量赋值

SQL> exec :a := 7803;

 

PL/SQL procedure successfully completed.

 

使用绑定变量

SQL> select object_id,object_name from all_objects where object_id=:a;

 

 OBJECT_ID OBJECT_NAME

---------- ------------------------------

      7803 V$DIAG_IPS_PACKAGE_INCIDENT

 

示例三 存储过程中调用 绑定变量


create or replace procedure test_bind ( obj_id in number,obj_name out varchar2 )
as
v_sql varchar2(10000) := null;
begin
v_sql := 'select object_name from all_objects where object_id= :1';   --此处绑定变量 可以随便写
EXECUTE IMMEDIATE v_sql into obj_name using  obj_id;    --注意此处的using子句,就是调用上面定义的绑定变量
dbms_output.put_line(obj_id ||'  '|| obj_name);
  end;

 

绑定变量 基本熟悉

转载于:https://www.cnblogs.com/iyoume2008/p/5201497.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值