SQL基礎(chǔ):SQL?Server創(chuàng)建用戶定義函數(shù)
時(shí)間:2024-02-04 13:45作者:下載吧人氣:15
一、UDF的定義
和存儲(chǔ)過(guò)程很相似,用戶自定義函數(shù)也是一組有序的T-SQL語(yǔ)句,UDF被預(yù)先優(yōu)化和編譯并且可以作為一個(gè)單元來(lái)進(jìn)行調(diào)用。
UDF和存儲(chǔ)過(guò)程的主要區(qū)別在于返回結(jié)果的方式:
- 使用UDF時(shí)可傳入?yún)?shù),但不可傳出參數(shù)。輸出參數(shù)的概念被更為健壯的返回值取代了。
- 和系統(tǒng)函數(shù)一樣,可以返回標(biāo)量值,這個(gè)值的好處是它并不像在存儲(chǔ)過(guò)程中那樣只限于整形數(shù)據(jù)類(lèi)型,而是可以返回大多數(shù)SQL Server數(shù)據(jù)類(lèi)型。
UDF有以下兩種類(lèi)型:
- 返回標(biāo)量值的UDF。
- 返回表的UDF。

創(chuàng)建語(yǔ)法:
CREATE FUNCTION [<schema name>.]<function name>
(
[ <@parameter name> [AS] [<schema name>.]<data type> [= <default value> [READONLY]] [,…n] ]
)
RETURNS { <scalar type> | TABLE [(<table definition>)] }
[ WITH [ENCRYPTION] | [SCHEMABINDING] | [RETURNS NULL ON NULL INPUT | CALLED ON NULL INPUT ] |
[EXECUTE AS {CALLER|SELF|OWNER|<‘user name’>}]
[AS] { EXTERNAL NAME <externam method> |
BEGIN
[<function statements>]
{RETURN <type as defined in RETURNS clause | RETURN (<SELECT statement>)}
END}[;]
標(biāo)簽MSSQL,SQLServer,技術(shù)文檔,數(shù)據(jù)庫(kù),SQLSERVER
網(wǎng)友評(píng)論