create proc test
@s decimal(18,2) output
as
select @s=1.22
return @s
go
declare @a decimal(18,2),
@s decimal(18,2)
exec @a=[test] @s output
select @a
---------------------------------------
1.00(1 行受影响)为啥给取整了。不明白。
@s decimal(18,2) output
as
select @s=1.22
return @s
go
declare @a decimal(18,2),
@s decimal(18,2)
exec @a=[test] @s output
select @a
---------------------------------------
1.00(1 行受影响)为啥给取整了。不明白。
试了几种情况,好象是exec @a=[test] @s output这里给赋值的时候变的。
不懂是为什么,跟楼主一起等高手解答
第一次是在
create proc test
@s decimal(18,2) output
as
select @s=1.22
return @s
内return中的@s由1.22转成1第二次就是
declare @a decimal(18,2),
@s decimal(18,2)
exec @a=[test] @s output
select @a
内exec 返回的1赋给@a向decimal(18,2)
as
declare @s decimal(18,2)
set @s=1.22
select @s
goexec [test]
declare @a decimal(18,2),
@s decimal(18,2)
exec @a=[test]
select @a
---------------------------------------
1.22(1 行受影响)
---------------------------------------
1.22(1 行受影响)
---------------------------------------
0.00(1 行受影响)这样还是不对的。
@s decimal(18,2) output
as
select @s=1.22
return @s
go
declare @a decimal(18,2),
@s decimal(18,2)
exec [test] @s output
select @s