SQL Server自定义函数
来源:互联网 发布:java时间戳转换成毫秒 编辑:程序博客网 时间:2024/05/01 19:01
SQL Server 允许用户自定义函数,插入到查询或者存储过程中来完成相应的计算。根据函数返回值的不同,
可以将函数分为3类:标量函数、内联表值函数、多语句 表值函数。
1、标量函数
语法:
CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name [ AS ][ type_schema_name. ] parameter_data_type [ = default ] } [ ,...n ] ])RETURNS return_data_type [ WITH <function_option> [ ,...n ] ] [ AS ] BEGIN function_body RETURN scalar_expression END[ ; ]
标量函数返回一个确定类型的标量值,其返回值类型为除 TEXT 、 NTEXT 、IMAGE 、 CURSOR 、 TIMESTAMP
和 TABLE 类型外的其它数据类型。
create function test_1(@name nvarchar(20),@age int)returns bitasbegindeclare @result bitset @result = 0if @age > 12beginif @name is not nullset @result = 1endreturn @resultenddeclare @r bitexec @r = dbo.test_1 null,14print @r
2、内联表值函数
语法:
CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name [ AS ] [ type_schema_name. ] parameter_data_type [ = default ] } [ ,...n ] ])RETURNS TABLE [ WITH <function_option> [ ,...n ] ] [ AS ] RETURN [ ( ] select_stmt [ ) ][ ; ]
以表的形式返回一个返回值,即它返回的是一个表。内联 表值型函数没有由 BEGIN-END 语句括起来的函数体。
其返回的表是由一个位于RETURN 子句中的 SELECT 命令从数据库中筛选出来。
-- 内联表值函数:返回结果集create function test_2(@id int)returns tableasreturn select id,applicanttime from attendance_tx where id = @idselect * from test_2(4)
3、多语句 表值函数
语法:
CREATE FUNCTION [ schema_name. ] function_name ( [ { @parameter_name [ AS ] [ type_schema_name. ] parameter_data_type [ = default ] } [ ,...n ] ])RETURNS @return_variable TABLE < table_type_definition > [ WITH <function_option> [ ,...n ] ] [ AS ] BEGIN function_body RETURN END[ ; ]
它的返回值 也是一个表,但它和标量型函数一样有一个用 BEGIN-END 语句括起来的函数体,返
回值的表中的数据是由函数体中的语句插入的。也就是说,它可以进行多次筛选 ,
对数据进行多次合并,弥补了内联表值函数的不足。
-- 多语句表值函数create function test_3()returns @tab table (id int primary key not null,cname nvarchar(20),age int)asbegininsert @tab select userid ,loginname,grpid from z_aut_usermsgreturnendselect * from test_3()
4、删除函数
-- 删除自定义函数drop function 函数名
- SQL SERVER自定义函数
- sql server 自定义函数
- SQL Server自定义函数
- SQL Server自定义函数
- SQL Server自定义函数
- SQL Server自定义函数
- SQL Server自定义函数
- sql server 自定义函数
- Sql server 自定义函数
- SQL Server自定义函数
- SQL Server自定义函数
- SQL Server自定义函数
- SQL Server自定义函数
- SQL Server 自定义函数
- SQL SERVER 自定义函数
- SQL SERVER自定义函数
- SQL Server 自定义函数
- 常用SQL Server自定义函数
- R语言:数据挖掘相关包的介绍
- 软件全程建模
- iptables官方文档
- 自定义返回按钮时,iOS7手势返回遇到的问题
- Spring依赖注入的xml文件的配置
- SQL Server自定义函数
- Linux Mint 14系统下VMtools和ibus的安装
- url传值特殊符号
- 苹果浏览器safari推介(例图)
- 【PAT】1009. Product of Polynomials
- Capturing Audio & Video in HTML5
- TabActivity的使用
- AsyncHttpClient
- mongodb简单实用