自定义函数

 

一、定义:

用户自定义函数的类型:
1、标量值函数(返回一个标量值)
2、表格值函数(内联表格值函数、多语句表值函数,返回一个结果集)
 
二、三种自定函数的异同点
1、同点:
 
创建定义相同:         CREATE FUNCTION F_NAME(传入的参数名称    传入参数的类型)                                
                                  RETURNS         返回值类型                                 
                                  AS 
 
2、异点:
 
              a.标量值函数返回的是一个数据类型值,
                 内联表值函数返回的是一个table,而多语句表值函数返回的是一个table的变量(类似前面两个的结合);  
              b.语法的结构:标量值函数和多语句表值函数都是要有begin.........................end,内联表值函数就没有;      
              c.调用:标量函数要写成在dbo.function_name;
 
 

三、函数参数

参数可以是常量、表中的某个列、表达式或其他类型的值。在函数中有三种类型的参数。
1、输入:指必须输入一个值。
2、可选值:在执行该参数时,可以选择不输入参数。
3、默认值:函数中默认有值存在,调用时可以不指定该值。
 
1.标量函数的使用
 
 
例子1:
例子2:
例子3:
 
2.内联表值函数的使用
例子1:
例子2:
 
3.多语句表值函数的使用
多语句表值函数跟内联表值函数都是表值函数,它们返回的结果都是Table类型。多语句表值函数通过多条语句来创建Table类型的数据。这里不同于内联表值函数,内联表值函数的返回结果是由函数体内的SELECT语句来决定。而多语句表值函数,则是需要指定具体的Table类型的结构。也就是说返回的Table已经定义好要哪些字段返回。所以它能够支持多条语句的执行来创建Table数据。
例子1:
例子2:
 
 
posted @ 2019-12-27 16:37  gaoyang'Blog  阅读(364)  评论(0编辑  收藏  举报