DELIMITER $$
CREATE PROCEDURE bb_HL_sum_product3
(
IN name VARCHAR(200)
)
begin
drop TABLE tmp_reasult;
declare cal1 varchar(800) ;
set cal1="
insert into tmp_reasult(产品名称,募集规模,已募额度,杠杆率,成立时间)
select product_name,project_money,PROJECT_ORDER_MONEY,extend8,setup_date
from t_product where delete_flag=0
"
if(name<>"" )
begin
#产品名称
set SQL_FOR_SELECT= concat(SQL_FOR_SELECT," "," and product_name like ","'","%name%","'")
end
PRINT cal1
EXECUTE cal1;
EXECUTE(
'update tmp_reasult set 客户总数=tmp.s1 '
+'from t_contract_order, '
+'(select count(distinct CUSTOMER_SEED) as s1,product_name from t_contract_order '
+'group by product_name )tmp where tmp_reasult.产品名称=tmp.product_name '
)
DEALLOCATE PREPARE cal1 ;
END$$
DELIMITER ;
这是我写的存储过程,但是在Navicat里面报错,估计是关于定义变量,进行拼装语句的写法有错了。请大神帮忙看看