现在错误提示:
该行execute immediate ' update person_taxdetail partition(' || v_partition || ') set month_str = '',ora-01756:括号内的字符串未正确结束;请问如何解决????????
以下是我的脚本
DECLARE
v_code Varchar2(30) := '123456789012345';
v_bmonth Varchar2(30) := '200801';
v_partition Varchar2(30);
v_month int;
v_year Varchar2(10);
tmpsql Varchar2(100);
Begin
select substr(v_bmonth, 0, 4) into v_year from dual;
select substr(v_bmonth, 5, 6) into v_month from dual;
while (v_month < 13) loop
select F_MINGXICREATE_partitiondeal(v_bmonth)
into v_partition
from dual;
execute immediate ' update person_taxdetail partition(' || v_partition || ') set month_str = '',
month_end = '',
acc_wage = '',
acc_deducttax = '',
acc_deductstandard = '',
paytaxincome= '',
taxrate1= '',
yingkou_tax= '',
yikou_tax= '',
realpayrecede_tax= '',
bonus1= '',
difference_tax = '',
taxrate2= '',
bonus_tax= '',
otherearning1= '',
othertax1= '',
acc_currentpay_tax= ''
where code = v_code and send_flag ="0" '; execute immediate ' delete from PERSON_TAXSUM partition(' || v_partition || ') where code=v_code ';
v_month := v_month + 1;
if (length(v_month) = 1) then
v_bmonth := v_year || '0' || to_char(v_month);
elsif (length(v_month) = 2) then
v_bmonth := v_year || to_char(v_month);
end if;
end loop;
delete from emp_award
where code = v_code
and bmonth between v_month and to_char(v_year) || '12';
commit;
END;
请问如果我使用变量绑定会影响效率吗???
因为我每次处理一次的数据量较大,如果不使用变量绑定 会大大降低了数据库的性能和处理速度吗???????????,
该行execute immediate ' update person_taxdetail partition(' || v_partition || ') set month_str = '',ora-01756:括号内的字符串未正确结束;请问如何解决????????
以下是我的脚本
DECLARE
v_code Varchar2(30) := '123456789012345';
v_bmonth Varchar2(30) := '200801';
v_partition Varchar2(30);
v_month int;
v_year Varchar2(10);
tmpsql Varchar2(100);
Begin
select substr(v_bmonth, 0, 4) into v_year from dual;
select substr(v_bmonth, 5, 6) into v_month from dual;
while (v_month < 13) loop
select F_MINGXICREATE_partitiondeal(v_bmonth)
into v_partition
from dual;
execute immediate ' update person_taxdetail partition(' || v_partition || ') set month_str = '',
month_end = '',
acc_wage = '',
acc_deducttax = '',
acc_deductstandard = '',
paytaxincome= '',
taxrate1= '',
yingkou_tax= '',
yikou_tax= '',
realpayrecede_tax= '',
bonus1= '',
difference_tax = '',
taxrate2= '',
bonus_tax= '',
otherearning1= '',
othertax1= '',
acc_currentpay_tax= ''
where code = v_code and send_flag ="0" '; execute immediate ' delete from PERSON_TAXSUM partition(' || v_partition || ') where code=v_code ';
v_month := v_month + 1;
if (length(v_month) = 1) then
v_bmonth := v_year || '0' || to_char(v_month);
elsif (length(v_month) = 2) then
v_bmonth := v_year || to_char(v_month);
end if;
end loop;
delete from emp_award
where code = v_code
and bmonth between v_month and to_char(v_year) || '12';
commit;
END;
请问如果我使用变量绑定会影响效率吗???
因为我每次处理一次的数据量较大,如果不使用变量绑定 会大大降低了数据库的性能和处理速度吗???????????,
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货