在存储过程中使用case语句出错,死活都无法实现!
看下面的存储过程: <br/>ALTER PROCEDURE pos01."sp_cost_matuse" <br/>( in @nf integer,in @yf integer,in @rq1 date,in @rq2 date,@cjbh char(4),@cplb char(6),@lbbh char(6),in @andcheck char(1)) <br/>AS <br/>BEGIN <br/>--创建临时表 <br/>Create Table #acc( <br/>cpbh char(15), <br/>sl numeric(15,4), <br/>sl_b numeric(15,4), <br/>cbje money) <br/>--统计 <br/>CASE @cplb <br/>WHEN 'all' THEN <br/>// Insert into #acc(cpbh,sl,sl_b,cbje) <br/>// Select cpbh0,sum(sl),sum(sl_b),sum(cbje) From pjnr1 a,pjnr2 b where (a.pjlb = b.pjlb and a.pjdh = b.pjdh) and (a.rq > = :@rq1 and a.rq <= :@rq2) and (a.pjlb = 'C') <br/>WHEN 'cpsx' THEN <br/>// Insert into #acc(cpbh,sl,sl_b,cbje) <br/>// Select cpbh0,sum(sl),sum(sl_b),sum(cbje) From pjnr1 a,pjnr2 b where (a.pjlb = b.pjlb and a.pjdh = b.pjdh) and (a.rq > = :@rq1 and a.rq <= :@rq2) and (a.pjlb = 'C') <br/>END CASE; <br/>END <br/><br/>我不知道这样的存储过程有什么问题,sql anywhere 8的帮助文档看了无数遍,也没有查出来有什么问题。但每当存盘的时候,总是报错:ASA error -131: Syntax error near 'CASE @cplb on line 12'。我不明白这样写case语句有什么问题?真的是急死人了。 ASA的存储没用过,不过报错的行不一定是真正出错的行。
页:
[1]