diff --git "a/38\345\274\240\345\205\210\346\235\260/\344\275\234\344\270\232/20222-10-07\347\254\254\345\215\201\346\254\241\344\275\234\344\270\232\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.sql" "b/38\345\274\240\345\205\210\346\235\260/\344\275\234\344\270\232/20222-10-07\347\254\254\345\215\201\346\254\241\344\275\234\344\270\232\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.sql" new file mode 100644 index 0000000000000000000000000000000000000000..85e345f2d0a25ab1adbc09e43c0b763563e3fec6 --- /dev/null +++ "b/38\345\274\240\345\205\210\346\235\260/\344\275\234\344\270\232/20222-10-07\347\254\254\345\215\201\346\254\241\344\275\234\344\270\232\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.sql" @@ -0,0 +1,14 @@ +--ÿλͬѧ��ƽ���ɼ� +use TEST04 +select * from Student +go +create function func_Getsvg(@name varchar(20)) +returns decimal(5,2) +as +begin + declare @avg decimal(5,2) = (select avg(score) from SC where [SId] = (select [SId] from Student where Sname = @name) ) + return @avg +end +go +select dbo.func_Getsvg('����') +drop function func_Getsvg diff --git "a/38\345\274\240\345\205\210\346\235\260/\347\254\224\350\256\260/2022-10-07\347\254\254\345\215\201\346\254\241\347\254\224\350\256\260\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.md" "b/38\345\274\240\345\205\210\346\235\260/\347\254\224\350\256\260/2022-10-07\347\254\254\345\215\201\346\254\241\347\254\224\350\256\260\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..8ed6a0fd72568693de26ddac3ea2678e33f7bdb7 --- /dev/null +++ "b/38\345\274\240\345\205\210\346\235\260/\347\254\224\350\256\260/2022-10-07\347\254\254\345\215\201\346\254\241\347\254\224\350\256\260\350\207\252\345\256\232\344\271\211\345\207\275\346\225\260.md" @@ -0,0 +1,36 @@ +## 函数 +函数分为(1)系统函数:,(2)自定义函数(方法:将一个功能封装成可重用的函数)。 +其中自定义函数又可以分为(1)标量值函数(返回单个值),(2)表值函数(返回查询结果) +本文主要介绍自定义函数的使用。 + +#### 标量值函数 +语法结构: +CREATE FUNCTION function_name(@parameter_name parameter_data_type) --(@参数名 参数的数据类型) +RETURNS date_type --返回返回值的数据类型 +[AS] +BEGIN + function_body --函数体 + RETURN 表达式; --必须要有的 +END +定义函数要求实现: +实现两个值的加和 +使用函数求某门课的平均成绩 + +#### 表值函数 +语法结构: +create function 名称 +([{@参数名称 参数类型[=默认值]}[,n]]) +returns @局部变量 table(参数名 参数类型) +[with encryption] +[as] +begin +函数体 +return 函数返回值 +end + +删除自定义函数 +DROP function 函数名 +总结:自定义函数 +1.标量值函数: 1.returns 数据类型 2.return 标量(某个值) + +2.多语句表值函数 1.returns 表名 table(字段 数据类型) 2.return