sql2005关于自定义函数的讲授

sql2005关于自定义函数的讲解

use caowen;
--关于函数
--没有返回值,没有参数的函数
create  function t_ch()
as
 begin
  print '曹欢';
 end;
  
--这是调用
exec t_ch;

--这是有简单类型返回值、有参数的函数
create  function t_go(@a int, @b int)
RETURNS INT
as
 begin
 declare @c int;
 set @c = @a + @b;
 RETURN @c;
end;
go
declare @d int;
exec @d = t_go 1,2;
print @d;
go

select * from dep where depid = 2;
--这是返回值为内嵌表
drop function t_go2;
go
create  function t_go2(@id int=2)--这是默认id的值是2
returns table
as
  return (select * from dep where depid = @id); 
go

--这是调用函数
select * from t_go2(2);

--关于函数有什么不懂的去看看这个网页
--http://www.doc88.com/p-915707533472.html


--这是多语句表值函数
create function t_go3(@id int = 2)
returns @tab table(
 id int primary key,
 name varchar(20)
)
as
 --如果一旦出现了变量,就必须要用begin,end这种语句,但是没有出现t_sql的语句,就不需要begin、end
 begin
  insert  @tab select depid, depname from dep;
  return;
 end

--这是调用
select * from  t_go3(2);