中文字幕第五页-中文字幕第页-中文字幕韩国-中文字幕最新-国产尤物二区三区在线观看-国产尤物福利视频一区二区

SqlServer系列筆記——用戶自定義函數

用戶自定義函數不能用于執行一系列改變數據庫狀態的操作,但它可以像系統函數一樣在查詢或存儲過程等的程序段中使用,也可以像存儲過程一樣通過 EXECUTE 命令來執行。

創新互聯專注為客戶提供全方位的互聯網綜合服務,包含不限于網站制作、成都網站制作、南召網絡推廣、小程序開發、南召網絡營銷、南召企業策劃、南召品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯為所有大學生創業者提供南召建站搭建服務,24小時服務熱線:18980820575,官方網址:m.2m8n56k.cn

    在 SQL Server 中根據函數返回值形式的不同將用戶自定義函數分為三種類型:

    (1)標量函數

    (2)內聯表值函數

    (3)多語句表值函數

    注意:與編程語言中的函數不同的是,SQL Server 自定義函數必須具有返回值。

 

標量函數

    標量函數返回一個確定類型的標量值,其返回值類型為除TEXT、NTEXT、IMAGE、CURSOR、TIMESTAMP和TABLE類型外的其它數據類型。函數體語句定義在BEGIN-END語句內。在 RETURNS 子句中定義返回值的數據類型,并且函數的最后一條語句必須為Return語句。創建標量函數的格式:

    Create Function 函數名(參數)

    Returns 返回值數據類型

    [With {Encryption|Schemabinding}]

    [AS]

    BEGIN

        SQL語句(必須有Return子句)

    END

    舉例:

    CREATE FUNCTION dbo.Max

    (

        @a int,

        @b int

    )

    RETURNS int AS 

    BEGIN

        DECLARE @max int

        IF @a>@b  SET  @max=@a

        ELSE   SET  @max=@b

        Return @max

    END

    調用標量函數

    可以在 T-SQL 語句中允許使用標量表達式的任何位置調用返回標量值(與標量表達式的數據類型相同)的任何函數。必須使用至少由兩部分組成名稱的函數來調用標量值函數,即架構名.對象名,如dbo.Max(12,34)。

 

內聯表值函數

    內聯表值型函數以表的形式返回一個返回值,即它返回的是一個表。內聯表值型函數沒有由BEGIN-END 語句括起來的函數體。其返回的表是由一個位于 RETURN 子句中的 SELECT 命令從數據庫中篩選出來。內聯表值型函數功能相當于一個參數化的視圖。

    Create Function 函數名(參數)

    RETURNS table

    [with {Encryption|Schemabinding}]

    AS

    Return(一條SQL語句)

    舉例:

    CREATE FUNCTION func (@id char(8))

    RETURNS TABLE

    AS

    RETURN

    (

        SELECT * FROM student WHERE SID = @id

    )

    調用內聯表值函數:調用時不需指定架構名,如select * from func('51300521')

 

多語句表值函數

    多語句表值函數可以看作標量函數和內聯表值函數的結合體。它的返回值是一個表,但它和標量型函數一樣有一個用 BEGIN-END 語句括起來的函數體,返回值的表中的數據是由函數體中的語句插入的。由此可見,它可以進行多次查詢,對數據進行多次篩選與合并,彌補了內聯表值函數的不足。

    Create Function 函數名(參數)

    RETURNS 表變量名 (表變量字段定義)

    [with {Encryption|Schemabinding}]

    AS

    BEGIN

        SQL語句

        Return

    END

    舉例:

    CREATE FUNCTION func(@selection int)

    RETURNS @table TABLE

    (

        SID char(4) primary key not null,

        SName nvarchar(4) null

    )

    AS

    BEGIN

        IF @selection = 0

            INSERT INTO @table (SELECT SID,SName FROM student0)

        ELSE 

            INSERT INTO @table (SELECT SID,SName FROM student1)

        Return

    END

    調用多語句表值函數:和調用內聯表值函數一樣,調用時不需制定架構名。

網頁名稱:SqlServer系列筆記——用戶自定義函數
本文來源:http://m.2m8n56k.cn/article22/ipjjcc.html

成都網站建設公司_創新互聯,為您提供網站營銷網站改版響應式網站小程序開發網站導航網站收錄

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:[email protected]。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

手機網站建設
主站蜘蛛池模板: 日韩美女一区二区三区 | 最新怡红院全部视频在线 | 在线观看成年人免费视频 | 中文字幕亚洲精品第一区 | 久久久久亚洲精品影视 | 国产成人精品三区 | 久久久久久久99视频 | 红色记忆| 一级a做爰片欧欧美毛片4 | 精品国产品国语在线不卡丶 | 老司机午夜在线视频免费观 | 91成人国产网站在线观看 | 精品久久一区二区三区 | 久香草视频在线观看 | 国产成人精品男人免费 | 99je全部都是精品视频在线 | 日韩天天干 | 久久久精品久久视频只有精品 | 亚洲aa| 国产欧美一区二区成人影院 | 亚洲精品一区二区 | 欧美视频精品一区二区三区 | 欧美成人免费观看bbb | 成年女人在线观看片免费视频 | 国产日韩亚洲欧美 | 狠狠色丁香久久综合网 | 农村寡妇一级毛片免费播放 | a毛片免费全部播放毛 | 欧美日韩一区二区综合 | 久久亚洲国产精品一区二区 | 亚洲高清国产一线久久 | 亚洲欧美日韩中文字幕在线 | 亚洲一区欧美二区 | 九九精品久久久久久噜噜 | 亚洲视频一 | 91影视永久福利免费观看 | 免费观看成人久久网免费观看 | 欧美激情视频在线观看一区二区三区 | 亚洲日韩精品欧美一区二区 | 欧美精品片在线观看网站 | 中文字幕一级毛片 |