mysql存储过程prepare_mysql中存储过程中PREPARE语句的问题

本人在存储过程中利用了PREPARE语句,但是在CALL这个时候报错,请高手们看看是那个地方有问题,创建过程的时候没报错。

具体代码:

-- 原本是这样的查询语句

SELECT t1.bankprovincecode,t1.bankprovincename,"2" AS area_level,COUNT(t3.corpid)AS c_corpid

FROM bankbranchparams AS t1

INNER JOIN corpinfo AS t3 ON t1.bankbranchleadercode=t3.bankbranchleadercode

WHERE t3.applydate <= "20160325" AND t3.version<>"entjxcstd"

GROUP BY t1.bankprovincecode,t1.bankprovincename;

-- 创建过程

DROP PROCEDURE IF EXISTS proc_test;

CREATE PROCEDURE proc_test

(v_cname VARCHAR(20),

v_cname2 VARCHAR(20),

v_nextlevel VARCHAR(10),

i_date VARCHAR(20))

BEGIN

SET @sqlstr1=CONCAT("SELECT t1.",v_cname,"t1.",v_cname2,v_nextlevel,

"AS area_level,COUNT(t3.corpid)AS c_corpid FROM bankbranchparams AS t1

INNER JOIN corpinfo AS t3 ON t1.bankbranchleadercode=t3.bankbranchleadercode

WHERE t3.applydate <=",i_date, "AND t3.version<>","entjxcstd",

"GROUP BY t1.",v_cname,"t1.",v_cname2);

PREPARE stmt1 FROM @sqlstr1;

EXECUTE stmt1;

END;

CALL proc_test("bankprovincecode","bankprovincecodename","2","20160325");

报错:

[SQL]CALL proc_test(“bankprovincecode”,”bankprovincecodename”,”2″,”20160325″);

[Err] 1064 – You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near “t3.version<>entjxcstdGROUP BY t1.bankprovincecodet1.bankprovincecodename” at line 3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值