1.让oracle自己绑定变量。
在上设置serverout
设置定时开启;
声明
l _ SQL varchar 2(2000);
l_count编号;
l _ param 1 varchar 2(100);
l _ param 2 varchar 2(100);
开始
l _ param 1:= & rsquo;a’;
l _ param 2:= & rsquo;b’;
select count(*)into l _ count from table 1,其中col_1=l_param1,col _ 2 = l _ param2
DBMS _ output . put _ line(l _ count);
结束;
/
在上面的例子中,Oracle会自己绑定变量,也就是说,如果参数存储在一个数组中,select语句放在一个循环中,
Select语句只编译一次。
像这样
因为我在1..3
环
select count(*)into l _ count from table 1,其中col_1=l_param1,col_2=l_param2,col _ 3 = I;
DBMS _ output . put _ line(l _ count);
结束循环
2.未绑定变量
在上设置serverout
设置定时开启;
声明
l _ SQL varchar 2(2000);
l_count编号;
l _ param 1 varchar 2(100);
l _ param 2 varchar 2(100);
开始
l _ param 1:= & rsquo;a’;
l _ param 2:= & rsquo;b’;
l _ SQL:= & rsquo;select count(*) into :x from table1,其中col _ 1 = & rsquo| | l _ param1 | | & rsquo而col _ 2 = & rsquo| | l _ param2
将立即执行的SQL _ SQL转换为l _ count
DBMS _ output . put _ line(l _ count);
结束;
/
3.动态绑定变量
在上设置serverout
设置定时开启;
声明
l _ SQL varchar 2(2000);
l_count编号;
l _ param 1 varchar 2(100);
l _ param 2 varchar 2(100);
开始
l _ param 1:= & rsquo;a’;
l _ param 2:= & rsquo;b’;
l _ SQL:= & rsquo;从表1中选择count(*) into :x,其中col_1=:y,col _ 2 =:z & rsquo;;
使用l_param1,l _ param 2 . execute Immediate l _ SQL into l _ count;
DBMS _ output . put _ line(l _ count);
结束;
/
:x,:y,:z相当于占位符,即
1.使用:P1,:P2和:P3一样。
2.这和:x,:x,:x是一样的。
所需的绑定变量应按顺序排在执行语句之后,into的绑定变量除外。
然而,最好使用P1和P2。至少可以看到绑定了多少变量。
关键词:甲骨文
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227158.html