数据库函数
## 返回TABLE##
create function sc_inf(sdept varchar(10),name varchar(10))
return table
as
(
select stu.* sc.* course.*
from sc ,stu,course
where stu.sno=sc.sno and sc.cno=course.cno and sdept=@sdept and name=@name //作用是:将stu表和sc表和course做一次链接
)
调用函数
select* from sc_inf('CS','数据库')
求100以内的整数的和
create function sc_info()//无参数
return int //返回int 类型的数据
as
declare @sum int ,@i int
begin
set @sum=0
set @i=0
while i<=100
begin
set @i=@i+2
set @sum=@sum+@i
end
end
要实现同样的功能也可以不用函数
//比较两个数的大小,返回较大的那个数。
create proc max
declare @a int,@b int ,@c int
set @c=0;
begin
if a>b
set @c=@a;
else
set @c=@b;
end
print c;
用法:
exec max 36 25
同样的
create proc stu_inf @sno varchar(10)
as
select *
from stu
where sno=@sno
执行`
exec stu_inf ('200215121')