create proc p @i numeric(18,2) output as set @i=5.0declare @ii numeric(18,2) exec p @ii output select @iideclare @ii int exec p @ii output select @ii5.00 5接收的是int?
create function function_name(@参数 类型....) returns numeric(18,2) as begin . .
create function cc(@a int) returns numeric(10,2) as begin return @a endgoselect dbo.cc(1)/* ----- 1.00 */godrop function dbo.cc
CREATE PROCEDURE dbo.ContSum@pid int ASdeclare @maxContSum numeric(18,2) declare @Sum numeric(18,2) select @Sum=Cont_sum from 表 where pid=@pid declare GetMax cursor for '....' open GetMaxfetch next from GetMax into @maxContSum while @@fetch_status=0 begin set @Sum = @Sum - @maxContSum fetch next from GetMax into @maxContSum endclose GetMax deallocate GetMax RETURN @Sum GO
解决了,最后改成这样了 select @Sum RETURN
create function returnNumeric (@numeric numeric(18,2)) returns numeric(18,2) AS begin return (@numeric+100) endselect dbo.returnNumeric(83.44) /* -------------------- 183.44(所影响的行数为 1 行) */drop function returnNumeric
@i numeric(18,2) output
as
set @i=5.0declare @ii numeric(18,2)
exec p @ii output
select @iideclare @ii int
exec p @ii output
select @ii5.00
5接收的是int?
returns numeric(18,2)
as
begin
.
.
returns numeric(10,2)
as
begin
return @a
endgoselect dbo.cc(1)/*
-----
1.00
*/godrop function dbo.cc
declare @Sum numeric(18,2)
select @Sum=Cont_sum from 表 where pid=@pid
declare GetMax cursor for '....'
open GetMaxfetch next from GetMax into @maxContSum
while @@fetch_status=0 begin
set @Sum = @Sum - @maxContSum
fetch next from GetMax into @maxContSum
endclose GetMax
deallocate GetMax
RETURN @Sum
GO
select @Sum
RETURN
(@numeric numeric(18,2))
returns numeric(18,2)
AS
begin
return (@numeric+100)
endselect dbo.returnNumeric(83.44)
/*
--------------------
183.44(所影响的行数为 1 行)
*/drop function returnNumeric