- 5
- 0
- 约1.39万字
- 约 73页
- 2020-07-02 发布于天津
- 举报
数据库原理及应用-SQL DML * 其他函数 ISNULL(表达式1,表达式2) USE studentGOSELECT AVG(ISNULL(grade, 0.00))FROM sc where cno=‘1’ SELECT AVG(grade) FROM sc where cno=‘1’ GO 数据库原理及应用-SQL DML * 用户自定义函数 根据函数返回值的类型,可以将用户自定义函数分为三类: 标量函数 内嵌表值函数 多语句表值函数 数据库原理及应用-SQL DML * 标量函数 语法格式: CREATE FUNCTION function_name ([@para_name AS data_type [=default]…]) RETURNS data_type BEGIN function_body RETURN value_expression END 数据库原理及应用-SQL DML * 标量函数 CREATE FUNCTION CV (@length DECIMAL(4,1), @width DECIMAL(4,1), @height DECIMAL(4,1)) RETURNS DECIMAL(12,3) BEGIN RETURN (@length*@width*@height) END GO SELECT cv(1,2,3) 数据库原理及应用-SQL DML * 内嵌表值函数 语法格式: CREATE FUNCTION function_name ([@para_name AS data_type [=default]…])RETURNS TABLEASRETURN SELECT 语句 数据库原理及应用-SQL DML * 内嵌表值函数 use student go CREATE FUNCTION ScBySno(@vSno varchar(30))RETURNS TABLE AS RETURN(SELECT cno,grade FROM sc WHERE sno= @vSno) go SELECT * FROM ScBySno(‘200215121) go 数据库原理及应用-SQL DML * 多语句表值函数 语法格式: CREATE FUNCTION function_name ([@para_name AS data_type [=default]…]) RETURNS @return_variable TABLEtable_type_definition BEGIN??? ? function_body???? RETURN END 多语句表值函数可以出现在允许表和视图出现的地方,用于替换视图。 数据库原理及应用-SQL DML * 多语句表值函数 CREATE FUNCTION Student_Grade ( @vGrade float ) RETURNS @S_GTab TABLE ( Sno varchar(10), Sname varchar(50), Cno varchar(2), Grade float ) AS 数据库原理及应用-SQL DML * 多语句表值函数 BEGIN INSERT @ S_GTab SELECT s.Sno, Sname,Cno,Grade FROM student s, sc WHERE s.sno = sc.sno AND Grade @vGrade RETURN END SELECT * FROM Student_Grade ( 80 ) 数据库原理及应用-SQL DML * 删除函数 语法格式: DROP FUNCTION function_name 返回 数据库原理及应用-SQL DML * Transact -SQL概述 批处理 变量 运算符 注释 流程控制结构 小结 函数 T-SQL Transact -SQL程序设计基础 BEGIN…END IF…ELSE CASE语句 WHILE WAITFOR CONTINUE…BRE
原创力文档

文档评论(0)