当前位置:   article > 正文

SQL Server之自定义函数

sql sever可以把函数定义写在调用的下面吗

一、什么是自定义函数

  自定义函数是T-SQL一个语法元素,sql server允许用户自定义自己函数以补充和扩展系统提供内置函数的功能。函数有系统函数和自定义函数。自定义函数接受一系列参数,并返回值给调用者。

  用法(都为通过函数返回值来实现):

  •   可用于选择赋值
  •   可用于过滤规则
  •   用于表达式
  •   作为检查和默认规则
  •   替代表

  注意:

  •   函数不支持在函数体内使用select、insert、update、delete语句在函数内来对数据表进行操作,即不能将数据返回到客户端或修改数据表,但可以用select来对变量赋值,但存储过程可以。
  •   函数可以采用零个或多个输入参数并返回标量值或表
  •   函数的输入参数可以是除了timestamp、cursor、table以外的任何数据类型

二、自定义函数的分类

  1. 标量函数

  2. 多语句表值函数

  3. 内嵌表值函数

三、自定义函数的使用

  1. 标量函数

  语法:

/*创建自定义标量函数语法*/
CREATE FUNCTION function_name ([参数名 参数类型 [=默认值] [ ,...n ] ] ) 
    RETURNS 返回值类型
AS
BEGIN    
    function_body    
    RETURN 表达式
END
/*调用标量函数,以下介绍一种使用方法*/
DECLARE 参数名 参数类型
SELECT 拥有者名.函数名(参数名,...)

  说明:

  (1) 标量函数返回 RETURNS 子句中定义的数据类型的单个数据值,在 BEGIN … END 块之间定义了函数体,包含返回值的一系列 Transact-SQL 语句,返回值可以是除了 text、ntext、image、cursor 和timestamp 之外的任何数据类型。

  但是,标量函数只能返回标量值,且函数体内不能包含任何非确定性系统函数(即每次使用相同的输入值调用的时候,返回不同的结果集的函数,如@ERROR、CURRENT_USER等)。

  (2) 标量函数的调用形式:拥有

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号