国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

sqlserver中的自定義函數的方法小結

2020-07-25 13:25:56
字體:
來源:轉載
供稿:網友
“自定義函數”是我們平常的說法,而“用戶定義的函數”是 SQL Server 中書面的說法。

SQL Server 2000 允許用戶創建自定義函數,自定義函數可以有返回值。

自定義函數分為:標量值函數或表值函數

如果 RETURNS 子句指定一種標量數據類型,則函數為標量值函數。可以使用多條 Transact-SQL 語句定義標量值函數。
如果 RETURNS 子句指定 TABLE,則函數為表值函數。
表值函數又可分為:內嵌表值函數(行內函數)或多語句函數

如果 RETURNS 子句指定的 TABLE 不附帶列的列表,則該函數為內嵌表值函數。
如果 RETURNS 子句指定的 TABLE 類型帶有列及其數據類型,則該函數是多語句表值函數。
標量值函數示例
復制代碼 代碼如下:

CREATE FUNCTION dbo.Foo()
RETURNS int
AS
BEGIN
declare @n int
select @n=3
return @n
END

內嵌表值函數示例
復制代碼 代碼如下:

CREATE FUNCTION dbo.Foo()
RETURNS TABLE
AS
return select id, title from msgs

內嵌表值函數只有一個 select 語句。

多語句表值函數示例(部分)
復制代碼 代碼如下:

CREATE FUNCTION fn_FindReports (@InEmpId nchar(5))
RETURNS @retFindReports TABLE (empid nchar(5) primary key,
empname nvarchar(50) NOT NULL,
mgrid nchar(5),
title nvarchar(30))
...

注意其 RETURNS 部分。

多語句函數的主體中允許使用以下語句。未在下面的列表中列出的語句不能用在函數主體中。

賦值語句。
控制流語句。
DECLARE 語句,該語句定義函數局部的數據變量和游標。
SELECT 語句,該語句包含帶有表達式的選擇列表,其中的表達式將值賦予函數的局部變量。
游標操作,該操作引用在函數中聲明、打開、關閉和釋放的局部游標。只允許使用以 INTO 子句向局部變量賦值的 FETCH 語句;不允許使用將數據返回到客戶端的 FETCH 語句。
INSERT、UPDATE 和 DELETE 語句,這些語句修改函數的局部 table 變量。
EXECUTE 語句調用擴展存儲過程。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 聊城市| 彩票| 旌德县| 兴宁市| 玉林市| 江口县| 定南县| 文昌市| 元阳县| 张家川| 乌拉特后旗| 宿松县| 五原县| 刚察县| 沙田区| 冕宁县| 宜春市| 海阳市| 同心县| 涪陵区| 荆门市| 阜新市| 望都县| 临夏市| 扎兰屯市| 和平县| 峨眉山市| 白银市| 安泽县| 调兵山市| 金秀| 温宿县| 安康市| 金塔县| 白水县| 湄潭县| 都兰县| 乌兰察布市| 昂仁县| 仪陇县| 万山特区|