日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
DB2中創(chuàng)建和使用SQL用戶定義函數(shù)

本文將為您詳細介紹DB2數(shù)據(jù)庫中創(chuàng)建用戶自定義行數(shù),用以擴展擴展內(nèi)置的 DB2 函數(shù)的方法,供您參考,希望對您有所幫助。

可以創(chuàng)建用戶定義函數(shù)來擴展內(nèi)置的 DB2 函數(shù)。例如,創(chuàng)建計算復雜的算術(shù)表達式或操作字符串的函數(shù),然后在 SQL 語句中像對待任何現(xiàn)有的內(nèi)置函數(shù)一樣引用這些函數(shù)。

假設(shè)需要一個返回圓的面積的函數(shù),這個函數(shù)的輸入?yún)?shù)是圓的半徑。內(nèi)置的 DB2 函數(shù)中沒有這樣的函數(shù),但是可以創(chuàng)建一個用戶定義的 SQL 標量函數(shù) 來執(zhí)行這個任務,可以在 SQL 語句中支持標量函數(shù)的任何地方引用這個函數(shù)。 CREATE function ca (r DOUBLE)
            RETURNS DOUBLE
            LANGUAGE SQL
            CONTAINS SQL
            NO EXTERNAL ACTION
            DETERMINISTIC
            RETURN 3.14159 * (r * r);
            
NO EXTERNAL ACTION 子句指出這個函數(shù)不會對數(shù)據(jù)庫管理程序不管理的對象的狀態(tài)有任何影響。DETERMINISTIC 關(guān)鍵字指出這個函數(shù)對于給定的參數(shù)值總是返回相同的結(jié)果。在查詢優(yōu)化期間會使用這個信息。執(zhí)行這個函數(shù)的簡便方法是在一個查詢中引用它。在下面的示例中,針對 SYSIBM.SYSDUMMY1 編目視圖(其中只有一行)執(zhí)行這個查詢(可以選擇任意的查詢目標): db2 SELECT ca(96.8) AS area FROM sysibm.sysdummy1
            AREA
            ------------------------
            +2.94374522816000E+004
            1 record(s) selected.
            
還可以創(chuàng)建用戶定義的表函數(shù),它接受零個或更多的輸入?yún)?shù)并以表的形式返回數(shù)據(jù)。表函數(shù)只能用在 SQL 語句的 FROM 子句中。 #p#

假設(shè)需要一個返回擁有特定工作的所有職員的姓名和職員號的函數(shù),函數(shù)的參數(shù)是這個工作的頭銜。下面是執(zhí)行這個任務的表函數(shù)示例: CREATE FUNCTION jobemployees (job VARCHAR(8))
            RETURNS TABLE (
            empno CHAR(6),
            firstname VARCHAR(12),
            lastname VARCHAR(15)
            )
            LANGUAGE SQL
            READS SQL DATA
            NO EXTERNAL ACTION
            DETERMINISTIC
            RETURN
            SELECT empno, firstnme, lastname
            FROM employee
            WHERE employee.job = jobemployees.job;
            
以下查詢在 FROM 子句中引用這個新的表函數(shù),并傳遞工作頭銜 ‘CLERK’ 作為函數(shù)的參數(shù)。語法要求用關(guān)鍵字 AS 引入一個相關(guān)名稱: db2 SELECT * FROM TABLE(jobemployees('CLERK')) AS clerk
            EMPNO  FIRSTNAME    LASTNAME
            ------ ------------ ---------------
            000120 SEAN         O'CONNELL
            000230 JAMES        JEFFERSON
            000240 SALVATORE    MARINO
            000250 DANIEL       SMITH
            000260 SYBIL        JOHNSON
            000270 MARIA        PEREZ
            6 record(s) selected.
            


網(wǎng)站名稱:DB2中創(chuàng)建和使用SQL用戶定義函數(shù)
標題URL:http://m.5511xx.com/article/cochjcs.html