跪求大神把这这段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个回答

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;

其他都一样的。

qq_22080655
曾经是少年v 救命恩人哪
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问