從今天起 豆腐 將陸續的從 SQL2k 的幫助中摘取一些幫助 放到 網上 給大家看看
sql2k 真的是增加了很多的功能!有條件的話,大家盡量的 提前升級到sql2k
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 ] ] )
RETURNS scalar_return_data_type
[ WITH < function_option> [ [,] ...n] ]
[ AS ]
BEGIN
function_body
RETURN scalar_expression
END
內嵌表值函數
CREATE FUNCTION [ owner_name.] function_name
( [ { @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n ] ] )
RETURNS TABLE
[ 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_variable TABLE < 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"關鍵字才能獲得默認值。這種行為不同於存儲過程中有默認值的參數,在存儲過程中省略參數也意味著使用默認值。
使用 @ 符號作為第一個字符來指定參數名稱。參數名稱必須符合標識符的規則。