读书人

存储过程中select @mRemain=sum(remai

发布时间: 2012-01-16 23:36:51 作者: rapoo

存储过程中select @mRemain=sum(remain) 提示有错误,请求指点。
CREATE PROCEDURE insertrecord
(
@roomid int
)
AS
declare @mRemain money
select @mRemain=sum(remain) from Payment where RoomID=@roomid
。。。。。

此存储过程提示@mRemain=sum(remain)中等号有错误,请高手指点

[解决办法]
sum是数字型的,你的@是money的
[解决办法]
select @mRemain=CAST(sum(remain) AS MONEY) from Payment where RoomID=@roomid
不知道这样可以了没

[解决办法]
--我的测试代码没有问题呀.

create table #
(
月份 varchar(6) ,
实发工资 numeric(18,2)
)

insert into #
select '200701 ',7889.34 union all
select '200701 ',897.23 union all
select '200702 ',565.34 union all
select '200701 ',1234.23

alter PROCEDURE insertrecord
(
@roomid varchar(7)
)
AS
declare @mRemain money
select @mRemain=sum(实发工资) from # where 月份=@roomid
select @mRemain


exec insertrecord '200701 '

[解决办法]
结果:
10020.8000

(所影响的行数为 1 行)
[解决办法]
语法无错误,检查remain的数据类型。

读书人网 >SQL Server

热点推荐