跪求大神把这这段oracle的存储过程改成mysql的
问题描述:
CREATE OR REPLACE PROCEDURE count_busniess_type (
v_c_04 out number,
v_sum_04 out boc_payinfo.ORDERAMOUNT%TYPE,
v_type in varchar,
v_date_start char,
v_date_end char,
v_mech_no varchar,
v_amount_sum out number,
v_order_sum out number
)
as
BEGIN
select count(*),sum(ORDERAMOUNT) into v_c_04, v_sum_04 from boc_payinfo where PROCSTATE = '04' and chltype like '%' || v_type ||'%' and MECHDATE >= v_date_start and MECHDATE <= v_date_end and mechno like '%' || v_mech_no ||'%';
IF v_c_04 = 0 THEN
v_sum_04 := 0;
END IF;
v_amount_sum := v_sum_04 + v_sum_02 + v_sum_03 + v_sum_05 + v_sum_06 + v_sum_07 + v_sum_08 + v_sum_99 + v_sum_14;
v_order_sum := v_c_04 + v_c_02 + v_c_03 + v_c_05 + v_c_06 + v_c_07 + v_c_08 + v_c_99 + v_c_14;
END count_busniess_type;
答
1,把参数格式从:v_c_04 out number变成 out v_c_04 number; 即把位置换一下。
2,把sql里面的like语句换成:chltype LIKE CONCAT('%',v_type , '%')
3,把里面的 v_sum_xx:= 变成 set v_sum_xx= xx;
其他都一样的。