SQL server内嵌表值函数与多语句表值函数

内联表值函数

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就可以取到我们想要的范围值了

多语句表值函数

你可能感兴趣的:(#,SQL,server与My,SQL数据库)