1.标量函数
Create FUNCTION owner_name.function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [ [,] ...n] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END示例:
--print dbo.fn_Test(11,14)
create function dbo.fn_Test(@a int,@b int) returns int as
begin
return @a+@b
end2.多语句表值函数
Create FUNCTION owner_name.function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS @return_variable TABLE < table_type_definition >
[ WITH < function_option > [ [,] ...n ] ]
[ AS ]
BEGIN
function_body
RETURN
END示例:
--select * from dbo.fn_Test(10099)
create function dbo.fn_Test(@id int) returns @users table(id int identity(1,1) primary key,uid int,web varchar(20),url nvarchar(200)) as
begin
insert into @users(uid,web,url) select id,website_name,website from union_user where id<@id
return
end3.内嵌表值函数
Create FUNCTION owner_name.function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS TABLE
[ WITH < function_option > [ [,] ...n ] ]
[ AS ]
RETURN [ ( ] select-stmt [ ) ]示例:
--select * from dbo.fn_Test()
create function dbo.fn_Test() returns table as
return select top 20 * from union_user
评论(0)
暂无评论。