存储过程中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的数据类型。