|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
对于现有业务,可以轻松移植到MySQL。当你需要替换掉老的硬件,当你需要削减历史遗留下的老系统的时候,选用MySQL对于财务部门来说更具吸引力。“自界说函数”是我们寻常的说法,而“用户界说的函数”是SQLServer中书面的说法。
SQLServer2000同意用户创立自界说函数,自界说函数能够有前往值。
自界说函数分为:标量值函数或表值函数
假如RETURNS子句指定一种标量数据范例,则函数为标量值函数。可使用多条Transact-SQL语句界说标量值函数。
假如RETURNS子句指定TABLE,则函数为表值函数。
表值函数又可分为:内嵌表值函数(行内函数)或多语句函数
假如RETURNS子句指定的TABLE不附带列的列表,则该函数为内嵌表值函数。
假如RETURNS子句指定的TABLE范例带有列及其数据范例,则该函数是多语句表值函数。
标量值函数示例
复制代码代码以下:
CREATEFUNCTIONdbo.Foo()
RETURNSint
AS
BEGIN
declare@nint
select@n=3
return@n
END
内嵌表值函数示例
复制代码代码以下:
CREATEFUNCTIONdbo.Foo()
RETURNSTABLE
AS
returnselectid,titlefrommsgs
内嵌表值函数只要一个select语句。
多语句表值函数示例(部分)
复制代码代码以下:
CREATEFUNCTIONfn_FindReports(@InEmpIdnchar(5))
RETURNS@retFindReportsTABLE(empidnchar(5)primarykey,
empnamenvarchar(50)NOTNULL,
mgridnchar(5),
titlenvarchar(30))
...
注重其RETURNS部分。
多语句函数的主体中同意利用以下语句。未鄙人面的列表中列出的语句不克不及用在函数主体中。
赋值语句。
把持流语句。
DECLARE语句,该语句界说函数部分的数据变量和游标。
SELECT语句,该语句包括带有表达式的选择列表,个中的表达式将值付与函数的部分变量。
游标操纵,该操纵援用在函数中声明、翻开、封闭和开释的部分游标。只同意利用以INTO子句向部分变量赋值的FETCH语句;不同意利用将数据前往到客户真个FETCH语句。
INSERT、UPDATE和DELETE语句,这些语句修正函数的部分table变量。
EXECUTE语句挪用扩大存储历程。“MySQL实际上是一个数据库家族,你可以从选择一个并将其配置成可以满足你的大多数情况,”开源顾问公司Ethiqa的总裁如此表示,“因此,你可以在开始的时候选择一个小巧的版本产品,以后再根据需要来对其进行性能或大小上的扩展。” |
|