<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        掀開SQL表值函數神秘的面紗

        來源:懂視網 責編:小采 時間:2020-11-09 10:20:50
        文檔

        掀開SQL表值函數神秘的面紗

        掀開SQL表值函數神秘的面紗:我勒個去... 這標題如此粗魯,誰起的 改過來... 呵呵,管他呢!老師說不要在乎這些細節. 我們開始我們的話題,這里我們要討論的是 SQL 中的表值函數. 對于熟悉他的同胞們可能本文沒有多大的意義,但是對于剛入門的童鞋還是比較有用的. 筆者剛開始接觸的時候也是
        推薦度:
        導讀掀開SQL表值函數神秘的面紗:我勒個去... 這標題如此粗魯,誰起的 改過來... 呵呵,管他呢!老師說不要在乎這些細節. 我們開始我們的話題,這里我們要討論的是 SQL 中的表值函數. 對于熟悉他的同胞們可能本文沒有多大的意義,但是對于剛入門的童鞋還是比較有用的. 筆者剛開始接觸的時候也是

        我勒個去... 這標題如此粗魯,誰起的? 改過來... 呵呵,管他呢!老師說不要在乎這些細節. 我們開始我們的話題,這里我們要討論的是 SQL 中的表值函數. 對于熟悉他的同胞們可能本文沒有多大的意義,但是對于剛入門的童鞋還是比較有用的. 筆者剛開始接觸的時候也是

        我勒個去... 這標題如此粗魯,誰起的? 改過來... 呵呵,管他呢!老師說不要在乎這些細節.

        我們開始我們的話題,這里我們要討論的是 SQL 中的表值函數.

        對于熟悉他的同胞們可能本文沒有多大的意義,但是對于剛入門的童鞋還是比較有用的.

        筆者剛開始接觸的時候也是費了很大勁(可能本人比較笨!呵呵),在此以一個簡單而又簡明的例子來討論這個看似神奇的東西.

        所謂的表值函數,就是用戶自定義的函數.

        "表值" 表示它返回的值是一張表.

        表值函數又分為內聯表值函數和多語句表值函數(其實某個角度也是一樣樣兒的,別被弄糊涂了).

        我們先看內聯表值函數,下面我們就打開我們的 SQL 語句編輯工具,我們寫第一個內聯表值函數.

        咱先不心慌,既然叫 "函數",那么他肯定具有函數的特征,猜猜... 如 括號,參數...

        對! 它的語法并不難:

          CREATE FUNCTION 函數名 (參數,參數...) RETURNS TABLE
          AS
          RETURN
          (
            語句
          )
          GO

        首先是 CREATE FUNCTION 表示創建函數,括號中是參數列表.

        RETURNS TABLE 表示返回值是一個表.

        AS 后面的 RETURN(語句) 就是函數執行的部分.

        內聯表值函數和多語句表值函數的區別其實就是內部的 SQL 查詢語句的條數,以及寫法稍有不同而已.

        我們也來實干一下:

          CREATE FUNCTION MYFUN (@NUMBER1 INT,@NUMBER2 INT)

          RETURNS TABLE
          AS
          RETURN( select @NUMBER1+@NUMBER2 AS RESULT)

          --該函數做的事情很簡單,就是把傳入的兩個值相加(當然這個例子嚴格說不是很好,因為你如果知道"標量值函數"且有不大區分得開,那就容易混淆了,但這里只是為了簡潔)

        聲明了一個函數,參數為 @NUBMER1 和 @NUMBER2 兩個 INT 類型的參數,標記返回值是 TABLE .

        然后返回兩個值相加的結果,由于這里返回的表列是 "匿名" 形式,所以必須對列起別名,這里叫 "RESULT".

        調用函數:

          SELECT * FROM MYFUN(2,3)

          --當然返回的就是 5 了

        看到這種調函數的方法,是不是你和小伙伴們都驚呆了? 開句玩笑.. 但這玩意是否有些出乎你的意料?

        別急,想想,既然是表值函數,關鍵是返回的是 "婊",奧! 不對,是 "表" 那么我們在查詢(調用函數就相當于在查詢這張返回的表) 的時候是不是應該按照 SQL 中查表的方式呢?

        對了,這不就想通了嗎? 耶! 壯哉我大中華.. (貌似也扯不上半毛錢關系 呵呵)

        和她零距離接觸后,我們沒了興趣,那好,我們頭腦風暴一下,看看下面這是啥...

        (似乎這家伙看上去很厲害的樣子... 她是干啥的? 會不會... 自己想去!)

          CREATE FUNCTION MYFUN(@NUMBER1 INT,@NUMBER2 INT)
          RETURNS @TAB TABLE(RESULT NVARCHAR(32))
          AS
          BEGIN
            INSERT INTO @TAB SELECT @NUMBER1+@NUMBER2
            UPDATE @TAB SET RESULT = RESULT * 10
            RETURN
          END
          GO

          --經過一場苦逼的頭腦風暴,我們郁悶了,好的是聰明的你已經猜對了,它就是多語句表值函數

        你可能會說,丫的,這里邊的語句是多了,但是也沒看出來它和內聯表值函數有啥端倪丫...

        前面也說過了,內聯表值函數和多語句表值函數的不同就是在內部的SQL 語句數量.

        上面的例子可以看出,我一條語句是填充 @TAB 表,另一個是更新它 RESULT 列的值,而這在內聯表值函數的 RETURN(...) 括號中是不允許的,因為它的括號里只允許一條語句.

        一條以上就會報錯的.

        值得一提的是,在多語句表值函數中,必須有"返回語句" 也就是 RETURN 標志,因為它不像內聯表值函數那樣早早就標明了 RETURN(語句) ,而是要手動的返回.

        第二個注意的地方是,在多語句表值函數中,聲明的返回表,在返回之前(RETURN) 必須有數據(哪怕是空),換句話說就是必須要把它進行初始化,否則就會報錯"函數內包含的** 語句無法向客戶端返回數據".

        事就這么個事,現在我們猛然發現,其實表值函數也沒什么難的,對吧?

        本例子舉例比較簡單,當然你參透了之后,可以盡情的用它來做 "大事",不要吝嗇! 呵呵

        好的! 夜深了,至此,我們已經揭開了它的面紗,它已經裸露在你面前,你和你的小伙伴們都驚呆了...

        呵呵 開句玩笑! 再見!

        >>溫馨提示: 代碼本身很純潔,沒有錯誤,但是如果你 copy 到SQL 編輯器中報錯的話,請嘗試刪除縮進的部分或者是重新替換掉它們(因為博客編輯器中的制表符貌似在 SQL 編輯器中有出入)

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        掀開SQL表值函數神秘的面紗

        掀開SQL表值函數神秘的面紗:我勒個去... 這標題如此粗魯,誰起的 改過來... 呵呵,管他呢!老師說不要在乎這些細節. 我們開始我們的話題,這里我們要討論的是 SQL 中的表值函數. 對于熟悉他的同胞們可能本文沒有多大的意義,但是對于剛入門的童鞋還是比較有用的. 筆者剛開始接觸的時候也是
        推薦度:
        標簽: sql 神秘 函數
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲一区二区三区丝袜| 亚洲精品国产福利在线观看| 中文字幕亚洲精品无码| 91精品国产免费久久久久久青草| 亚洲成av人在线视| 黄页免费在线观看| 久久亚洲精品中文字幕无码| 久久黄色免费网站| 亚洲综合激情六月婷婷在线观看| 日韩免费一区二区三区在线 | 亚洲色大网站WWW永久网站| 日韩免费a级毛片无码a∨| 亚洲日韩AV一区二区三区四区| 午夜a级成人免费毛片| 免费国产在线精品一区| 成人亚洲性情网站WWW在线观看| 在线观看免费视频网站色| 亚洲专区先锋影音| 黄页网站免费观看| 亚洲成a∧人片在线观看无码| 亚洲国产一区二区视频网站| 久久成人a毛片免费观看网站| 亚洲男女一区二区三区| 日本视频免费在线| 中文在线日本免费永久18近| 亚洲黄色在线播放| 国产免费av片在线播放| 在线观看免费视频网站色| 亚洲a视频在线观看| 国产免费无遮挡精品视频| a级黄色毛片免费播放视频| 亚洲成av人片不卡无码| 免费国产不卡午夜福在线| 美女被cao网站免费看在线看| 最新国产成人亚洲精品影院| 亚洲国产成人精品女人久久久| 女人体1963午夜免费视频| 亚洲日韩看片无码电影| 国产AV无码专区亚洲AV男同| 在线观看免费毛片| 99在线免费观看视频|