不能直接使用嵌套,可以使用间接嵌套方法:1.定义两个函数create function testE(@val int) returns int begin return 0 endgocreate function testB(@val int) returns int begin return 0 end2.函数嵌套调用 alter function testE(@val int) returns int as begin declare @i int set @i=2 set @val = @val+1 if @val<=10 set @i=@val+dbo.testB(@val)
return @i endgoALTER function testB(@val int) returns int as begin return dbo.testE(@val) end
returns int
begin
return 0
endgocreate function testB(@val int)
returns int
begin
return 0
end2.函数嵌套调用
alter function testE(@val int)
returns int
as
begin
declare @i int
set @i=2
set @val = @val+1
if @val<=10
set @i=@val+dbo.testB(@val)
return @i
endgoALTER function testB(@val int)
returns int
as
begin
return dbo.testE(@val)
end