亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > PostgreSQL > 正文

PostgreSQL7.0手冊-用戶手冊-19. SQL命令-CREATE FUNCTION

2019-09-08 23:33:00
字體:
供稿:網(wǎng)友
CREATE FUNCTION
名稱
CREATE FUNCTION ― 定義一個(gè)新函數(shù) 

語法
CREATE FUNCTION name ( [ ftype [, ...] ] )
    RETURNS rtype
    AS definition   
    LANGUAGE 'langname'
    [ WITH ( attribute [, ...] ) ]
CREATE FUNCTION name ( [ ftype [, ...] ] )
    RETURNS rtype
    AS obj_file , link_symbol  
    LANGUAGE 'C'
    [ WITH ( attribute [, ...] ) ]
輸入
name 
要創(chuàng)建的函數(shù)名. 
ftype 
函數(shù)參數(shù)的數(shù)據(jù)類型.輸入類型可以是基本類型,組合類型或者 opaque。opaque 表明該函數(shù)接受一個(gè)非法的象 char * 這樣的類型。. 
rtype 
返回?cái)?shù)據(jù)類型.輸入類型可以是基本類型,組合類型,setof type或者 opaque。setof 修改器表示該函數(shù)將返回套條目,而不是單條條目?!?
attribute 
一個(gè)關(guān)于函數(shù)的可選信息,用于優(yōu)化。目前唯一支持的屬性是 iscachable。iscachable 表示此函數(shù)在輸入相同時(shí)總是返回相同的值(也就是說,它不做數(shù)據(jù)庫查找或者是使用沒有直接在它的參數(shù)列表出現(xiàn)的信息)。優(yōu)化器使用 iscachable 來認(rèn)知對該函數(shù)的調(diào)用進(jìn)行預(yù)先計(jì)算是否安全?!?
definition 
一個(gè)定義函數(shù)的字串;其含義取決于(用的)語言??梢允且粋€(gè)內(nèi)部函數(shù)名,一個(gè)指向一個(gè)目標(biāo)文件的路徑,一個(gè)SQL查詢或者一種過程語言的文本?!?
obj_file , link_symbol 
這種形式的 AS 子句用于動態(tài)鏈接的 C 語言函數(shù),這時(shí)該函數(shù)在 C 源代碼里的名稱和 SQL 函數(shù)的名稱不同。字符串 obj_file 是含有可動態(tài)裝載的對象的文件名,而 link_symbol 是對象的鏈接符號,這個(gè)符號與 C 源代碼里的函數(shù)名相同?!?
langname 
可以是 'C','sql','internal' 或 'plname',這里 'plname' 是所創(chuàng)建過程的語言名.參考  CREATE LANGUAGE 獲取詳細(xì)信息. 
輸出
CREATE 
命令成功地執(zhí)行返回的信息. 

描述
CREATE FUNCTION 允許一個(gè) Postgres 用戶在一個(gè)數(shù)據(jù)庫里注冊一個(gè)函數(shù).同樣這個(gè)用戶將被看作這個(gè)函數(shù)的所有者. 
  
注意
請參閱PostgreSQL 程序員手冊 關(guān)于通過函數(shù)擴(kuò)展 Postgres 的章節(jié)獲取更多關(guān)于書寫外部函數(shù)的信息.Use DROP FUNCTION to remove user-defined functions. 
Postgres 允許函數(shù)“重載”;也就是說,同一個(gè)函數(shù)名可以用于幾個(gè)不同的函數(shù),只要它們的參數(shù)可以區(qū)分它們。不過,這個(gè)功能在用于 INTERNAL 和 C 語言的函數(shù)時(shí)要小心?!?

允許輸入?yún)?shù)和返回值使用全部 SQL92 類型語法.不過,有些類型聲明的細(xì)節(jié)(例如, numeric 類型的精度域)是由下面的函數(shù)實(shí)現(xiàn)負(fù)責(zé)的,并且被 CREATE FUNCTION  命令悄悄的吞并了(也就是說,不再被識別或強(qiáng)制). 

兩個(gè)內(nèi)部函數(shù)擁有相同 C 名稱時(shí)肯定會發(fā)生鏈接時(shí)錯(cuò)誤。要解決這個(gè)問題,賦予它們不同的 C 名稱(例如,使用參數(shù)類型做為 C 名稱的一部分),然后在 CREATE FUNCTION 的 AS 子句里面聲明這些名字。如果 AS 子句為空,那么 CREATE FUNCTION 假設(shè)函數(shù)的 C 名稱與SQL名稱一樣?!?

如果用 C 語言函數(shù)重載 SQL 函數(shù),給每個(gè) C 語言函數(shù)的實(shí)例一個(gè)獨(dú)立的名稱,并且使用 CREATE FUNCTION 語法里的 AS 子句的不同形式來確保重載的 SQL 函數(shù)名稱正確地解釋為相應(yīng)動態(tài)鏈接對象?!?
 

函數(shù)不能返回一套數(shù)值(結(jié)果). 

用法
創(chuàng)建一個(gè)簡單的 SQL 函數(shù): 
CREATE FUNCTION one() RETURNS int4
    AS 'SELECT 1 AS RESULT'
    LANGUAGE 'sql';
SELECT one() AS answer;

     answer 
--------
      1
這個(gè)例子通過調(diào)用一個(gè)用戶創(chuàng)建的共享庫的路徑創(chuàng)建一個(gè) C 函數(shù).該路徑計(jì)算一個(gè)檢測位并且如果函數(shù)參數(shù)里的檢測位正確就返回一個(gè) TRUE?。@些是通過使用一個(gè) CHECK 約束實(shí)現(xiàn)的. 
CREATE FUNCTION ean_checkdigit(bpchar, bpchar) RETURNS bool
    AS '/usr1/proj/bray/sql/funcs.so' LANGUAGE 'c';
    
CREATE TABLE product (
    id        char(8) PRIMARY KEY,
    eanprefix char(8) CHECK (eanprefix ~ '[0-9]{2}-[0-9]{5}')
                      REFERENCES brandname(ean_prefix),
    eancode   char(6) CHECK (eancode ~ '[0-9]{6}'),
    CONSTRAINT ean    CHECK (ean_checkdigit(eanprefix, eancode))
);
這個(gè)例子創(chuàng)建一個(gè)在用戶定義類型 complex 和內(nèi)部類型 point 之間做類型轉(zhuǎn)換的函數(shù)。該函數(shù)是用一個(gè)從 C 源代碼編譯的動態(tài)裝載的對象來實(shí)現(xiàn)的。對于 Postgres 而言,要自動尋找類型轉(zhuǎn)換函數(shù),sql 函數(shù)必須和返回類型同名,而且不能重載。該函數(shù)名通過使用 SQL定義里 AS 子句的第二種類型來重載 
CREATE FUNCTION point(complex) RETURNS point
    AS '/home/bernie/pgsql/lib/complex.so', 'complex_to_point'
    LANGUAGE 'c';
該函數(shù)的 C 定義是: 
Point * complex_to_point (Complex *z)
{
        Point *p;

        p = (Point *) palloc(sizeof(Point));
        p->x = z->x;
        p->y = z->y;
                
        return p;
}
兼容性
SQL92
CREATE FUNCTION 是 Postgres 語言的擴(kuò)展. 

SQL/PSM
注意: PSM 表示連續(xù)存儲模塊?。≒ersistent Stored Modules).它是一個(gè)過程化的語言,最初希望 PSM 將在1996年晚些時(shí)候正式批準(zhǔn)為官方標(biāo)準(zhǔn).但到了 1998年中,這些還沒有成為現(xiàn)實(shí),但 PSM 有希望最終成為一個(gè)標(biāo)準(zhǔn).
SQL/PSM CREATE FUNCTION 語法如下: 
CREATE FUNCTION name
    ( [ [ IN | OUT | INOUT ] type [, ...] ] )
     RETURNS rtype
     LANGUAGE 'langname'
     ESPECIFIC routine
     SQL-statement
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

91九色视频蝌蚪| 久久琪琪电影院| 亚洲一区三区电影在线观看| 热久久久久久久久| 欧美一区2区三区4区公司二百| 久久久久久久福利| 熟妇人妻va精品中文字幕| 亚洲精品精选| 国产精品99一区二区三区| 一级片久久久久| 精品久久福利| 欧美变态凌虐bdsm| 久久久久香蕉视频| 国产精品三区www17con| 91黑人精品一区二区三区| 精品美女www爽爽爽视频| 黄毛片在线观看| 欧美日韩国产综合视频在线观看| 欧美日韩在线二区| 中文字幕一区二区久久人妻网站| 欧美精品videofree1080p| 在线视频观看国产| 国产精品亚洲精品| 天堂在线资源8| 久久久伊人日本| 国产午夜福利100集发布| 无码人妻丰满熟妇精品区| 精品久久国产| 激情小视频在线| 亚洲黄色有码视频| 欧美成人精品欧美一级| 精品视频一区在线视频| 中国黄色a级片| 无码人妻精品中文字幕| 桃花网日韩影视在线观看视频| 麻豆国产精品一区| 无码人妻丰满熟妇精品区| 国产伦精品一区二区三区高清| 欧美一区二区视频免费观看| 久久精品偷拍视频| 国产精品福利一区| 人体内射精一区二区三区| 久久国产劲爆∧v内射| 性高爱久久久久久久久| h视频在线免费看| 26uuu另类欧美亚洲曰本| 日韩不卡av| 美女一区网站| 欧美三级午夜理伦三级| 精品一区二区综合| 久久免费少妇高潮99精品| 无码内射中文字幕岛国片| 国产亚洲一区二区手机在线观看| 欧美人动与zoxxxx乱| 久久久精品国产| 国产精品久久久久久久浪潮网站| 亚洲第一av色| 91一区二区三区在线观看| 精品无人区卡一卡二卡三乱码免费卡| 韩日精品视频| 变态另类ts人妖一区二区| 国产精一区二区三区| 99久久精品费精品国产风间由美| 狠狠躁少妇一区二区三区| 亚洲网在线观看| 国产成人aaa| 久久免费少妇高潮99精品| 亚洲欧洲一区二区三区久久| 99久久精品久久久久久ai换脸| 四虎在线免费观看| 亚洲激情图片| 亚洲国产欧美日韩另类综合| 天堂中文网在线| 成人中文字幕电影| 在线观看av日韩| 亚洲国产午夜伦理片大全在线观看网站| 日韩男人的天堂| 黄色三级在线观看| 免费高清在线观看| 国内精品久久久久久久久蜜桃| 国产成年人免费视频| 色88888久久久久久影院| 亚洲视频综合在线| 懂色av懂色av粉嫩av| 中文字幕人成高视频| 日韩欧美自拍偷拍| 亚洲欧美日韩动漫| 在线视频欧美性高潮| 中文字幕综合在线观看| 116极品美女视频在线观看| 欧美性生交大片免网| 亚洲人午夜精品免费| 国产精品女同一区二区| 51精品久久久久久久蜜臀| av一级久久| 中国女人一级毛片| 成人午夜精品久久久久久久蜜臀| 午夜精品久久久久久久99热黄桃| 在线观看中文字幕不卡| 国产精品精品软件男同| 欧美裸体男粗大视频在线观看| 在线亚洲国产精品网| 国产高清大尺度一区二区不卡| 真人抽搐一进一出视频| 路边理发店露脸熟妇泻火| 精品国产精品一区二区夜夜嗨| 亚洲高清在线视频| 日本污视频网站| 欧美成人合集magnet| 91热爆在线观看| 亚洲视频每日更新| 国产精品国产三级国产aⅴ无密码| 亚洲男人的天堂网站| 国产精品电影一区二区三区| 国产精品mp4| 欧美日韩国产限制| 中文字幕伦理片| 一区二区亚洲精品| 少妇一区二区三区四区| 欧美丰满少妇xxxxx高潮对白| 国产精品久久二区| 在线天堂一区av电影| 日韩成人激情在线| 欧美高清视频一区二区三区| 美女亚洲精品| 国产乱人伦精品一区二区在线观看| 国产一级精品aaaaa看| 国产精品国产亚洲精品看不卡15| 你懂的在线看| 中文字幕日韩一区二区三区| 动漫黄在线观看| 精品久久久久久久久久久| 国产精品豆花视频| 2017亚洲天堂1024| 91视频这里只有精品| 91麻豆视频在线观看| 韩国福利在线| 怡红院视频网站| 亚洲成a人片77777在线播放| 亚洲午夜私人影院| 国产高清在线精品| 乱h高h女3p含苞待放| 欧美一卡2卡3卡4卡无卡免费观看水多多| 亚洲精品电影网| 欧美香蕉爽爽人人爽| 天堂精品一区二区三区| 霍思燕三级露全乳照| 成年女人免费视频| 国产在线一二三区| 久久国产视频网| 亚洲精选中文字幕| 久久一区亚洲| 国产精品www网站| 日韩欧美在线网站| 在线国产成人影院| 99亚洲精品视频| 国产综合福利在线| 亚洲色成人www永久在线观看| 无码aⅴ精品一区二区三区| 2024最新电影在线免费观看| jizzjizz少妇亚洲水多| 中文字幕第一页久久| 精品久久久久久久久久久久久| 国产精品黄色| 国产麻豆一区二区三区在线观看| 91精品国产麻豆国产自产在线| 国产一区二区精品丝袜| 日日噜噜夜夜狠狠久久丁香五月| 性折磨bdsm欧美激情另类| 国产精品传媒入口麻豆| 日韩中文字幕网| 欧美色倩网站大全免费| 午夜精品一区二区在线观看| 极品白浆推特女神在线观看| 亚洲精品久久7777| www黄com| 最新av电影网站| 91theporn国产在线观看| 高清国产在线观看| 国产欧美一区二区精品久导航| 欧美高清在线| 欧美freesex交免费视频| 在线一区高清| caoporn91| 久久久夜精品| 日韩a一区二区| 亚洲天堂免费在线观看视频| 免费免费啪视频在线观看| 国产欧美高清在线| 黄色无遮挡网站| 亚洲欧洲99久久| 国产三级短视频| 99久久国产宗和精品1上映| 国产成人精品毛片| 亚洲18女电影在线观看| 亚洲无人区码一码二码三码的含义| 成人精品中文字幕| 亚洲国产又黄又爽女人高潮的| 亚洲天堂av中文字幕| 丝袜诱惑一区二区| 欧美精品一区二区不卡| 欧产日产国产精品98| 天天干 夜夜操| 欧美另类69xxxxx| xfplay爱情电影网love| 久久日一线二线三线suv| 中文在线观看av| 国产黄色录像视频| 激情不卡一区二区三区视频在线| 免费国产h视频在线观看86| av动漫在线看| 日本少妇精品亚洲第一区| 羞羞在线观看视频| 国产精品观看在线亚洲人成网| 日本不卡二区| 国产日韩欧美在线播放| 伊人久久综合影院| 精品国产白色丝袜高跟鞋| 女性生殖扒开酷刑vk| 亚洲国产精品免费视频| 天天色天天射天天综合网| 操你啦视频在线| 爱福利在线视频| 久久在线免费观看视频| 一区二区三区欧美成人| 日本视频一区在线观看| 欧美精品欧美极品欧美激情| 国产精品美女主播在线观看纯欲| 天堂av免费在线| 欧美亚洲高清一区| 国产精品电影久久久久电影网| 五月天中文字幕| 欧美+亚洲+精品+三区| 潘金莲一级淫片aaaaaaa| 99久久国产综合精品女小说| 小嫩嫩精品导航| 亚洲欧美999| 天堂中文在线官网| 91精品婷婷国产综合久久| 成人免费观看男女羞羞视频| 国产v综合v亚洲欧美久久| 天堂在线资源网| 欧美激情高清视频| 国产老肥熟xxxx在线观看| 中文字幕在线观看你懂的| 91日韩在线视频| 青春草免费在线视频| 国产寡妇亲子伦一区二区三区四区| 欧美日韩一区二区精品| 欧美与黑人午夜性猛交久久久| 日韩亚洲在线观看| 欧美激情综合五月色丁香| av片在线免费观看| 成年人看的羞羞网站| 国模一区二区三区私拍视频| 奇米一区二区三区av| 福利视频导航网| 性生交大片免费看女人按摩| 丰满人妻妇伦又伦精品国产| 欧美精品在线观看播放| www日本在线| 精品91久久久久| 999国产精品永久免费视频app| 亚洲自拍偷拍区| 亚洲电影成人成人影院| 青青草精品视频| 欧洲乱码伦视频免费| 麻豆mv在线观看| 亚州欧美精品suv| 日韩大尺度在线观看| 久久三级福利| 91精品啪在线观看国产| 亚洲免费激情视频| 精品国产一区二区三区久久久| 国产激情视频网站| 国产玖玖精品视频| 国产精品自拍片| 日本中文字幕一区二区有码在线| 精品日产免费二区日产免费二区| 日本成人在线播放| 欧美中文一区| 中文字幕色站| 黄色精品在线观看| 国产精品久久久久久久久久妞妞| 亚洲乱码国产乱码精品精软件| 欧美一级在线看| 在线观看免费视频污| 中文字幕在线播放一区二区| 亚洲一区自拍偷拍| 高清在线一区二区| 久久久久综合网| 欧美a级片网站| 亚洲图片小说视频| 九一精品在线观看| 欧美日韩五月天| 日本黄视频网站| 91成人看片| 精品国产户外野外| 国产精品怡红院| 成年人在线看片| 亚洲国产精品ⅴa在线观看| 亚洲国产毛片完整版| 日本中文字幕影院| 国产九九视频一区二区三区| 日韩视频中文| 日韩久久在线| 久久99精品网久久| 狠狠色噜噜狠狠狠狠8888| 91在线精品秘密一区二区| 欧美极品美女视频网站在线观看免费| 色老头一区二区三区在线观看| 久久久久久久久久看片| 丝袜美腿亚洲综合| 中文字幕精品一区二区精品| 成人午夜精品久久久久久久蜜臀| 人与牲动交xxxbbb| 欧美寡妇性猛交xxx免费| 97久久久免费福利网址| 久久一日本道色综合久久| 日日摸天天添天天添破| 亚洲第一天堂无码专区| 国产精品jizz在线观看美国| 伊人影院在线观看| 久久精品第一页| 麻豆免费视频网站入口| 精品久久一区二区| 中文字幕在线视频网站| 久久av二区|