--多语句表值函数
--多语句表值函数可以看做是标量函数和内联表值函数的结合体。
--语法:
--create function 函数名([参数列表])
--returns 表变量名 table
--(表变量的字段定义)
--as
--begin
-- SQL语句
-- return
--end
--练习:根据性别返回所有学生的学号,姓名,籍贯,数学成绩,如果是女生,就给她们
-- 的数学成绩+10分
create function Fun_StudentScore(@gender bit)
returns @stuScore table
(
stuNo char(9),
stuName nvarchar(8),
city nvarchar(8),
math int
)
as
begin
insert into @stuScore select stuNo,stuName,city,math from student join score
on student.id=socre.stuId where student.gender=@gender
if(@gender=0)
begin
update @stuScore set math=math+10
end
return
end
--1.SQL Server函数必须使用returns声明值类型
--所有的函数必须有返回值,函数体语句的最后一句必须是return
--函数不嫩能够修改基表中的数据,也就是不能使用insert,update,delete语句
--调用
select * from dbo.Fun_StudentScore(1)