SQL Server 中函数的理解总结

T-SQL语言为我们提供了更加灵活的方式操作数据,那就是函数,函数总的分为三大类:标量函数:(传入一个参数,再传出一个参数)聚合函数(传入多个参数,传出一个参数),表值函数(传入一个结果集对象,让我们能够通过对表的操作对其进行处理),表值函数在此进行细分的话可以分为两类:内嵌表值函数和多语句表值函数。内嵌表值函数模样如下:

1 CREATE FUNCTION my_fun()RETURNS TABLE
2 AS
3     RETURN 
4         SELECT * FROM Table_1

写函数容易出错的细节在于RETURNS与RETURN的区别

以上就是内嵌表值函数,下面再看看多语句表值函数:

课本上指出内嵌表值函数与多语句表值函数的区别为:

内嵌表值函数没有函数主题(BEGIN-END)返回的是单个SELECT的结果集;而多语句表值函数在BEGIN-END之间是由多个T-SQL语句序列构成,这些语句可以生成记录行并将行插入到表中,然后返回表。              ----《SQL Server教程第三版》

下面是一个多语句表值函数的示例:

CREATE FUNCTION myfun_2()RETURNS @my_list
(
      Column_1 char(10),
      Column_2 char(10)              
)
AS
    BEGIN
           INSERT @my_list --操作
    END

函数在传值的时候可以加一些对值的修饰,包括只读,默认值等等,与其他语言很是相似

原文地址:https://www.cnblogs.com/lumaoxin/p/6920499.html