oracle 存储过程,解决后,追加分

来源:百度知道 编辑:UC知道 时间:2024/06/08 04:01:08
create or replace procedure exec_insert(
in_time in varchar2(100),
in_typeid in integer
)
is
t_formula JDSN_F_FORMULA%ROWTYPE;
t_company integer;
t_formulaInfor varchar2(2000);

begin

cursor cur_formula is
select * from JDSN_F_FORMULA where F_FORMULA_TYPE_ID = in_typeid;
cursor cur_company is
select distinct b_company_id from JDSN_B_SYS_CMP;

open cur_company;
LOOP
FETCH cur_company INTO t_company;
EXIT WHEN cur_company%NOTFOUND;
open cur_formula;
loop
FETCH cur_formula INTO t_formula;
EXIT WHEN cur_formula%NOTFOUND;

--select fun(t_formula.f_formula_infor) into var_formule form dual;
execute immediate 'insert into test_temp values(''formula('||t_formula.f_formula_id||') companyID['||t_company||']'','
||REPLACE (t_for

传递的参数或者返回的值
不要写成 in_time in varchar2(100)
应该写成 in_time in varchar2

end loop;
commit; ---------------- 这里
close cur_formula;
END LOOP;
close cur_company;
你都提交了 还close? 这能不出问题么,请仔细看下commit所做的工作