文章列表
最近写存储过程,遇到一个问题,使用批量插入数据老是出错,说违反唯一性约束,最后检查存储过程,发现type table数据没有删除而引起的,存储过程如下:
type type_char2 is table of NVARCHAR2(30) index by binary_integer; --定义一个字符串的临时表类型
v_card_id type_char2;
--下面是游标
cursor cur_bt_data is
select * from test....;
--遍历游标
for bt_row in cur_bt_data loo ...
declare
i integer :=123; --增量
v_i varchar2(25) :='123456789A0000001234';--序列号
begin
dbms_output.enable; --设置输出
v_i :=substr(v_i,1,13)||(substr(v_i,14) + i - 1);
dbms_output.put_line(v_i);
输出结果为123456789A0001357 ; 发现substr(v_i,14)截取后七位进行计算时,pl/sql会自动把字符转换成整数,把前面的‘0’去掉 ...