这个存储过程哪里有问题?

tedagov328281 2009-04-02 11:24:26
消息 102,级别 15,状态 1,过程 ballance,第 14 行
' ' 附近有语法错误。

我去掉游标定义竟然可以编译通过,sqlserver真是够垃圾的,加上定义就报错

CREATE PROCEDURE ballance
AS
declare @MatchScore varchar(6)
declare @MatchLetFlag tinyint
declare @SaleId int
declare @SalePkType varchar(20)
declare @SaleSelect tinyint
declare @SalePK varchar(50)
declare @SaleSureMoney money

BEGIN

DECLARE Sale_cursor CURSOR FOR
  select m.MatchScore,m.MatchLetFlag,s.SaleId,s.SalePkType,s.SaleSelect,s.SalePK,s.SaleSureMoney
from TM_match m,TM_Sale s
where m.MatchId = s.MatchId and s.SaleResult = 'a'


open Sale_cursor

fetch next from Sale_cursor into @MatchScore,@MatchLetFlag,@SaleId,@SalePkType,@SaleSelect,@SalePK,@SaleSureMoney
while (@@fetch_status=0)
begin
print @MatchScore
fetch next from Sale_cursor into @MatchScore,@MatchLetFlag,@SaleId,@SalePkType,@SaleSelect,@SalePK,@SaleSureMoney
end
close Sale_cursor

END
GO
...全文
38 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
you_tube 2009-04-02
  • 打赏
  • 举报
回复
CREATE PROCEDURE ballance
AS
declare @MatchScore varchar(6)
declare @MatchLetFlag tinyint
declare @SaleId int
declare @SalePkType varchar(20)
declare @SaleSelect tinyint
declare @SalePK varchar(50)
declare @SaleSureMoney money

BEGIN

DECLARE Sale_cursor CURSOR FOR
SELECT m.MatchScore,m.MatchLetFlag,s.SaleId,s.SalePkType,s.SaleSelect,s.SalePK,s.SaleSureMoney FROM TM_match m ,TM_Sale s
where m.MatchId = s.MatchId and s.SaleResult ='a'
open Sale_cursor

fetch next from Sale_cursor into
@MatchScore,@MatchLetFlag,@SaleId,@SalePkType,@SaleSelect,@SalePK,@SaleSureMoney
while (@@fetch_status=0)
begin
print @MatchScore
fetch next from Sale_cursor into
@MatchScore,@MatchLetFlag,@SaleId,@SalePkType,@SaleSelect,@SalePK,@SaleSureMoney
end
close Sale_cursor

END
GO
htl258_Tony 2009-04-02
  • 打赏
  • 举报
回复
CREATE PROCEDURE ballance 
AS
declare @MatchScore varchar(6)
declare @MatchLetFlag tinyint
declare @SaleId int
declare @SalePkType varchar(20)
declare @SaleSelect tinyint
declare @SalePK varchar(50)
declare @SaleSureMoney money

BEGIN

DECLARE Sale_cursor CURSOR FOR
select m.MatchScore,m.MatchLetFlag,s.SaleId,s.SalePkType,s.SaleSelect,s.SalePK,s.SaleSureMoney --前面一个全角的空格
from TM_match m,TM_Sale s
where m.MatchId = s.MatchId and s.SaleResult = 'a'


open Sale_cursor

fetch next from Sale_cursor into @MatchScore,@MatchLetFlag,@SaleId,@SalePkType,@SaleSelect,@SalePK,@SaleSureMoney
while (@@fetch_status=0)
begin
print @MatchScore
fetch next from Sale_cursor into @MatchScore,@MatchLetFlag,@SaleId,@SalePkType,@SaleSelect,@SalePK,@SaleSureMoney
end
close Sale_cursor

END
GO

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧