sql2k中新增加的Function的sqlbook的帮助

<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
/*
http://www.asp888.net豆腐技术站
*/
CREATEFunction
创建用户定义函数,它是返回值的已保存的Transact-sql例程。用户定义函数不能用于执行一组修改全局状态的
操作。与系统函数一样,用户定义函数可以从查询中唤醒调用。也可以像存储过程一样,通过EXECUTE语句执行。

用户定义函数用ALTERFunction修改,用DROPFunction除去。

语法
标量函数

CREATEFunction[owner_name.]Function_name
([{@parameter_name[AS]scalar_parameter_data_type[=default]}[,...n]])

RETURNSscalar_return_data_type

[WITH<Function_option>[[,]...n]]

[AS]

BEGIN
Function_body
RETURNscalar_expression
END

内嵌表值函数

CREATEFunction[owner_name.]Function_name
([{@parameter_name[AS]scalar_parameter_data_type[=default]}[,...n]])

RETURNSTABLE

[WITH<Function_option>[[,]...n]]

[AS]

RETURN[(]select-stmt[)]

多语句表值函数

CREATEFunction[owner_name.]Function_name
([{@parameter_name[AS]scalar_parameter_data_type[=default]}[,...n]])

RETURNS@return_variableTABLE<table_type_definition>

[WITH<Function_option>[[,]...n]]

[AS]

BEGIN
Function_body
RETURN
END

<Function_option>::=
{ENCRYPTION|SCHEMABINDING}

<table_type_definition>::=
({column_definition|table_constraint}[,...n])


参数
owner_name

拥有该用户定义函数的用户ID的名称。owner_name必须是现有的用户ID。

Function_name

用户定义函数的名称。函数名称必须符合标识符的规则,对其所有者来说,该名称在数据库中必须是唯一的。

@parameter_name

用户定义函数的参数。CREATEFunction语句中可以声明一个或多个参数。函数最多可以有1,024个参数。函数执行时每
个已声明参数的值必须由用户指定,除非该参数的默认值已经定义。如果函数的参数有默认值,在调用该函数时必须指
定"default"关键字才能获得默认值。这种行为不同于存储过程中有默认值的参数,在存储过程中省略参数也意味着使用默
认值。

使用@符号作为第一个字符来指定参数名称。参数名称必须符合标识符的规则。每个函数的参数仅用于该函数本身;相同
的参数名称可以用在其它函数中。参数只能代替常量;而不能用于代替表名、列名或其它数据库对象的名称。

scalar_parameter_data_type

参数的数据类型。所有标量数据类型(包括bigint和sql_variant)都可用作用户定义函数的参数。不支持timestamp
数据类型和用户定义数据类型。不能指定非标量类型(例如cursor和table)。

scalar_return_data_type

是标量用户定义函数的返回值。scalar_return_data_type可以是支持的任何标量数据类型(text、ntext、
image和timestamp除外)。

scalar_expression

指定标量函数返回的标量值。

TABLE

指定表值函数的返回值为表。

在内嵌表值函数中,通过单个SELECT语句定义TABLE返回值。内嵌函数没有相关联的返回变量。

在多语句表值函数中,@return_variable是TABLE变量,用于存储和累积应作为函数值返回的行。

Function_body

指定一系列Transact-sql语句定义函数的值,这些语句合在一起不会产生副作用。Function_body只用于标量函数和多
语句表值函数。

在标量函数中,Function_body是一系列合起来求得标量值的Transact-sql语句。

在多语句表值函数中,Function_body是一系列填充表返回变量的Transact-sql语句。

select-stmt

是定义内嵌表值函数返回值的单个SELECT语句。

ENCRYPTION

指出sqlServer加密包含CREATEFunction语句文本的系统表列。使用ENCRYPTION可以避免将函数作为sqlServer1 <script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 728x15, 创建于 08-4-23MSDN */ google_ad_slot = "3624277373"; google_ad_width = 728; google_ad_height = 15; //--> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"><!-- google_ad_client = "pub-2947489232296736"; /* 160x600, 创建于 08-4-23MSDN */ google_ad_slot = "4367022601"; google_ad_width = 160; google_ad_height = 600; //--> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
阅读更多
想对作者说点什么? 我来说一句

oracle11g 新特性

2012年12月24日 17MB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭