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

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
/*
http://www.asp888.net豆腐技术站
*/
CREATE Function
创建用户定义函数,它是返回值的已保存的Transact- sql例程。用户定义函数不能用于执行一组修改全局状态的
操作。与系统函数一样,用户定义函数可以从查询中唤醒调用。也可以像存储过程一样,通过EXECUTE语句执行。

用户定义函数用ALTER Function修改,用DROP Function除去。

语法
标量函数

CREATE Function[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

内嵌表值函数

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

RETURNSTABLE

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

[AS]

RETURN[(]select-stmt[)]

多语句表值函数

CREATE Function[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

用户定义函数的参数。CREATE Function语句中可以声明一个或多个参数。函数最多可以有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加密包含CREATE Function语句文本的系统表列。使用ENCRYPTION可以避免将函数作为 sqlServer 1

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值