SQL Server 函数的定义及使用

一、定义函数

1. 标量值函数:

  返回一个确定类型的标量值,例如:int,char,bit等

--创建标量值函数
create function func_1(@func_parameter_1 int,@func_parameter_2 int)
returns int
as 
begin 
    return 1
end

2. 内联表值函数

  内联表值函数和多语句表值函数,都叫做表值函数,只是在定义返回值时,多语句确定了返回表的字段

--内联表值函数
create function func_2 (@parameter_id varchar(36)) 
returns table
as
return (select * from Member where ID = @parameter_id) 

3. 多语句表值函数

--多语句表值函数
create function func_3(@parameter_id varchar(36))
returns @tab_1 table(
    ID varchar(36),
    Name varchar(10)
)
as
begin
    insert into @tab_1(ID,Name) select ID,Name from Member where ID = @parameter_id
    return
end

 二、调用

1. 标量函数

  以上述func_1为例,在存储过程中调用函数给变量赋值,需要带上“dbo.” 看看是那个数据库的

-- 直接打印结果
print dbo.func_1(1,2);
-- 赋值给变量
declare @params varchar(100)
select @params = dbo.func_1(1,2);
print @params

2. 表值函数

  以上述func_3为例,也可以用insert into ……select 赋值给表变量或临时表等

-- 直接答应结果
select * from func_3('parameter_varchar');
-- 赋值给变量
declare @params varchar(100)
select @params = Name from func_3('parameter_varchar');
print @params

猜你喜欢

转载自www.cnblogs.com/haosit/p/10766538.html