sqlserver中有系统提供的函数,像avg、sum、getdate()等,用户还可以自定义函数。
用户自定义的函数包括:标量函数和表值函数,其中标量函数和系统函数的用法一样,表值函数根据主体的定义方式又可分为内嵌函数和多语句函数。
下面一一介绍语法。
标量函数:
1 Create function 函数名(参数) 2 Returns 返回值数据类型 3 [with {Encryption | Schemabinding }] 4 [as] 5 begin 6 SQL语句(return变量) 7 End 8 注:Schemabinding将函数绑定到它引用的对象上(注:函数一旦绑定,则不能删除、修改,除非删除绑定)
表值函数-内嵌函数:
1 create function 函数名(参数) 2 returns table 3 [with {Encryption | Schemabinding }] 4 as 5 return(一条SQL语句)
表值函数-多语句函数:
1 create function 函数名(参数) 2 returns 表变量名 table (表变量定义) 3 [with {Encryption | Schemabinding }]