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

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

sqlserver中的自定義函數(shù)的方法小結(jié)

2024-08-31 00:58:36
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
“自定義函數(shù)”是我們平常的說(shuō)法,而“用戶定義的函數(shù)”是 SQL Server 中書(shū)面的說(shuō)法。

SQL Server 2000 允許用戶創(chuàng)建自定義函數(shù),自定義函數(shù)可以有返回值。

自定義函數(shù)分為:標(biāo)量值函數(shù)或表值函數(shù)

如果 RETURNS 子句指定一種標(biāo)量數(shù)據(jù)類型,則函數(shù)為標(biāo)量值函數(shù)。可以使用多條 Transact-SQL 語(yǔ)句定義標(biāo)量值函數(shù)。
如果 RETURNS 子句指定 TABLE,則函數(shù)為表值函數(shù)。
表值函數(shù)又可分為:內(nèi)嵌表值函數(shù)(行內(nèi)函數(shù))或多語(yǔ)句函數(shù)

如果 RETURNS 子句指定的 TABLE 不附帶列的列表,則該函數(shù)為內(nèi)嵌表值函數(shù)。
如果 RETURNS 子句指定的 TABLE 類型帶有列及其數(shù)據(jù)類型,則該函數(shù)是多語(yǔ)句表值函數(shù)。
標(biāo)量值函數(shù)示例

復(fù)制代碼 代碼如下:


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


內(nèi)嵌表值函數(shù)示例

復(fù)制代碼 代碼如下:


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


內(nèi)嵌表值函數(shù)只有一個(gè) select 語(yǔ)句。

多語(yǔ)句表值函數(shù)示例(部分)

復(fù)制代碼 代碼如下:


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 部分。

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

賦值語(yǔ)句。
控制流語(yǔ)句。
DECLARE 語(yǔ)句,該語(yǔ)句定義函數(shù)局部的數(shù)據(jù)變量和游標(biāo)。
SELECT 語(yǔ)句,該語(yǔ)句包含帶有表達(dá)式的選擇列表,其中的表達(dá)式將值賦予函數(shù)的局部變量。
游標(biāo)操作,該操作引用在函數(shù)中聲明、打開(kāi)、關(guān)閉和釋放的局部游標(biāo)。只允許使用以 INTO 子句向局部變量賦值的 FETCH 語(yǔ)句;不允許使用將數(shù)據(jù)返回到客戶端的 FETCH 語(yǔ)句。
INSERT、UPDATE 和 DELETE 語(yǔ)句,這些語(yǔ)句修改函數(shù)的局部 table 變量。
EXECUTE 語(yǔ)句調(diào)用擴(kuò)展存儲(chǔ)過(guò)程。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 阿拉善右旗| 镇宁| 新竹县| 广安市| 图木舒克市| 武胜县| 辉县市| 福鼎市| 中江县| 桦甸市| 石狮市| 准格尔旗| 博客| 兴文县| 凤台县| 深州市| 德钦县| 合肥市| 尼玛县| 贵溪市| 凤庆县| 通化县| 南平市| 南澳县| 桃园县| 搜索| 丰镇市| 慈溪市| 郯城县| 茶陵县| 玉溪市| 湘潭市| 苏尼特左旗| 新乡县| 池州市| 台中县| 炉霍县| 岱山县| 绥阳县| 乃东县| 和硕县|