内联表值函数
create function 函数名(@变量 as 类型)
returns table
as
return
(
结果集[select查询语句]
)
go
select 列名 from 函数名(传入值)
例题 编程一个自定义函数,接收一个参数课程编号,对成绩表该门课程的所学生成绩增加一个(1~5)的随机分数。
create function addgrade1(@cno3 char(3)) --定义函数体
returns table --返回值是一个table表
as
return select sno,cno,grade+(select left( datepart(ms, getdate()),1)/2+1)as 分数 from t_score
go
select * from addgrade1('C01')
–select left( datepart(ms, getdate()),1)/2+1
因为在自定义函数当中不可以使用rand
再自己定义一个近似随机的数1>>获取当前时间的毫秒>>再取毫秒的第一位>>将这个数除以2再+1就可以取到我们想要的范围值了