问题描述
我想用相同参数之前的符号替换过程中使用的参数或参数。
喜欢
过程proc_name (para_1编号,
para_2 varchar2,......)
选择 .....来自表1,其中col_name = para_1;
结束;
输出为
过程proc_name (:para_1编号,
: para_2 varchar2,……)
选择 .....来自表1,其中col_name = :para_1;
结束;
过程包含更复杂的代码和更多的参数,因此很难用bind变量替换每个参数。
因为有一些时间在Toad环境中执行代码内部所以。
喜欢
过程proc_name (para_1编号,
para_2 varchar2,......)
选择 .....来自表1,其中col_name = para_1;
结束;
输出为
过程proc_name (:para_1编号,
: para_2 varchar2,……)
选择 .....来自表1,其中col_name = :para_1;
结束;
过程包含更复杂的代码和更多的参数,因此很难用bind变量替换每个参数。
因为有一些时间在Toad环境中执行代码内部所以。
专家解答
所以你想把PL/SQL中SQL的所有变量都绑定变量?
没必要!
他们are绑定变量。编译PL/SQL程序时,数据库将其中的SQL规范化。这个:
-删除不必要的空格
-大写文本
-使变量绑定变量
例如:
请注意,数据库已转换:
没必要!
他们are绑定变量。编译PL/SQL程序时,数据库将其中的SQL规范化。这个:
-删除不必要的空格
-大写文本
-使变量绑定变量
例如:
create table t as select mod ( level, 10 ) c1 from dual connect by level <= 100; create or replace procedure p ( v1 int ) as c pls_integer; begin select count (*) into c from t where c1 = v1; dbms_output.put_line ( 'count = ' || c ); end p; / exec p ( 2 ); count = 10 select sql_text from v$sql where upper ( sql_text ) like 'SELECT COUNT (*)%FROM T%'; SQL_TEXT SELECT COUNT (*) FROM T WHERE C1 = :B1
请注意,数据库已转换:
where c1 = v1 => WHERE C1 = :B1
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




