MYSQL网页编程之sqlserver中的自界说函数的办法小结
对于现有业务,可以轻松移植到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的总裁如此表示,“因此,你可以在开始的时候选择一个小巧的版本产品,以后再根据需要来对其进行性能或大小上的扩展。” 很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。 然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的.. 呵呵,这就是偶想说的 语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的! 也可谈一下你是怎么优化存储过程的?
页:
[1]