
正文
oracle如何变量绑定,oracle存储过程绑定变量
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
oracle 如何使用绑定变量
你这个写法不对,应该是直接写 A.containerowner='APL'
而不能写:p_containerowner,这种写法只有在动态sql中才能用
比如:
execute immediate 'begin insert into test07 values(:x,:x:y:x); end;'
using a,b;
a和b的值是预先定义好的,直接填充占位符x y
相关问答
Q1: 如何查看Oracle SQL绑定变量
查看Oracle SQL绑定变量方法如下:
alter session set nls_date_format = 'yyyy-mm-dd,hh24:mi:ss';
set linesize 400
col sql_Id format a20
col name format a20
col datatype_string format a14
col value_string format a20
--这个sql从内存中读取绑定变量值信息,若是不在内存中,则使用下一个sql
select
sql_id,name, datatype_string, last_captured,value_string from
v$sql_bind_capture where sql_id='dxfcacn4t4ppw' order by
LAST_CAPTURED,POSITION;
--这个sql从awr中读取绑定变量值信息
select
instance_number, sql_id,name, datatype_string,
last_captured,value_string from dba_hist_sqlbind where
sql_id='fahv8x6ngrb50'order by LAST_CAPTURED,POSITION;
Q2: Oracle中关于绑定变量的使用技巧
提示无效数字,你应该看前面查出来的值是不是数字。
select max(ts_pp_supplier_id) into v_id from TS_SUPPLIER;
其中:max(ts_pp_supplier_id),要确认两点:
1.ts_pp_supplier_id字段是数字。
2.TS_SUPPLIER表查询出来是不是有记录。如果没有记录,max(ts_pp_supplier_id)会是null。所以你应该再包一层nvl(max(ts_pp_supplier_id),0)








