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

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

PostgreSQL7.0手冊(cè)-用戶手冊(cè)-19. SQL命令-CREATE OPERATOR

2019-09-08 23:32:59
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
CREATE OPERATOR
名稱
CREATE OPERATOR ― 定義一個(gè)新的用戶操作符 

語(yǔ)法
CREATE OPERATOR name ( PROCEDURE = func_name
     [, LEFTARG = type1 ] [, RIGHTARG = type2 ]
     [, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
     [, RESTRICT = res_proc ] [, JOIN = join_proc ]
     [, HASHES ] [, SORT1 = left_sort_op ] [, SORT2 = right_sort_op ] )
輸入
name 
定義的操作符名.可用的字符見下文?!?
func_name 
用于實(shí)現(xiàn)該操作符的函數(shù)?!?
type1 
如果存在的話,操作符左手邊的參數(shù)類型.如果是右目操作符,這個(gè)參數(shù)可以省略。 
  
type2 
如果存在的話,操作符右手邊的參數(shù)類型.如果是左目操作符,這個(gè)參數(shù)可以省略?!?
  
com_op 
對(duì)應(yīng)的換向(commutative)操作符。 
neg_op 
對(duì)應(yīng)的負(fù)操作符。 
res_proc 
此操作符約束選擇性評(píng)估函數(shù)?!?
join_proc 
此操作符的聯(lián)合選擇性評(píng)估函數(shù)。 
HASHES 
表明此操作符支持哈希(散列)聯(lián)合算法。 
left_sort_op 
如果此操作符支持融合聯(lián)合(join),此操作符的左邊數(shù)據(jù)的排序操作符?!?
right_sort_op 
如果此操作符支持融合聯(lián)合(join),此操作符的右邊數(shù)據(jù)的排序操作符?!?
輸出
CREATE 
成功創(chuàng)建操作符后的返回信息. 

描述
CREATE OPERATOR 定義一個(gè)新的操作符, name?。x該操作符的用戶成為其所有者. 
操作符 name 是一個(gè)最多 NAMEDATALEN-1 長(zhǎng)的(缺省委 31 個(gè))下列字符組成的字串. 

+ - * / < > = ~ ! @ # % ^ & | ` ? $ : 

你選擇名字的時(shí)候有幾個(gè)限制: 

"$" 和 ":" 不能定義為單字符操作符,盡管它們可以是一個(gè)多字符操作符的名稱的一部分. 
"--" 和 "/*" 不能在操作符名字的任何地方出現(xiàn),因?yàn)樗鼈儠?huì)被認(rèn)為是一個(gè)注釋的開始. 

一個(gè)多字符的操作符名字不能以 "+" 或 "-" 結(jié)尾,除非該名字還包含至少下面字符之一: 

~ ! @ # % ^ & | ` ? $ : 

例如,@- 是一個(gè)允許的操作符名,但 *- 不是.這個(gè)限制允許 Postgres 分析 SQL-有問(wèn)題的查詢而不要求在符號(hào)之間有空白.

請(qǐng)注意:當(dāng)使用非 SQL-標(biāo)準(zhǔn)操作符名時(shí),你通常將需要用空白把聯(lián)接的操作符分離開以避免含混.例如,如果你定義了一個(gè)左目操作符,名為 "@",你不能寫 X*@Y;你必須些成 X* @Y 以保證 Postgres 把它讀做兩個(gè)操作符而不是一個(gè).
操作符 "!=" 在輸入時(shí)映射成 "<>" , 因?yàn)檫@兩個(gè)名稱總是相等的. 
至少需要定義一個(gè) LEFTARG 或 RIGHTARG .對(duì)于雙目操作符來(lái)說(shuō),兩者都需要定義.對(duì)右目操作符來(lái)說(shuō),只需要定義 LEFTARG,而對(duì)于左目操作符來(lái)說(shuō),只需要定義 RIGHTARG. 

同樣, func_name 過(guò)程必須已經(jīng)用 CREATE FUNCTION 定義過(guò),而且必須定義為接受正確數(shù)量的參數(shù)(一個(gè)或是兩個(gè)). 

換向操作符用于令 Postgres 可以按它的意愿轉(zhuǎn)換操作符的方向.例如,操作符面積小于,<<<,就有一個(gè)轉(zhuǎn)換操作符:面積大于操作符, >>>.因此,查詢優(yōu)化器可以自由的將下面查詢從: 

box '((0,0),(1,1))'  >>> MYBOXES.description
轉(zhuǎn)換到 
MYBOXES.description <<< box '((0,0),(1,1))'
這就允許執(zhí)行代碼總是使用后面的形式而某種程度上簡(jiǎn)化了查詢優(yōu)化器. 
類似地,如果存在負(fù)號(hào)操作符則應(yīng)該聲明。假設(shè)一個(gè)操作符,面積相等, ===,存在,同樣有一個(gè)面積不等操作符,!==.負(fù)號(hào)操作符允許查詢優(yōu)化器將 

NOT MYBOXES.description === box '((0,0),(1,1))'
簡(jiǎn)化成 
MYBOXES.description !== box '((0,0),(1,1))'
如果提供了一個(gè)轉(zhuǎn)換器操作符名稱,Postgres 將在目錄中查找它.如果找到,而且其本身沒(méi)有一個(gè)轉(zhuǎn)換器,那么轉(zhuǎn)換器表將被更新,以當(dāng)前(最新)操作符作為它的轉(zhuǎn)換器.這一點(diǎn)一樣適用于負(fù)號(hào)操作符.這就允許定義兩個(gè)互為轉(zhuǎn)換器或負(fù)號(hào)符的操作符.第一個(gè)操作符應(yīng)該定義為沒(méi)有轉(zhuǎn)換器或負(fù)號(hào)符(as appropriate).當(dāng)定義第二個(gè)操作符時(shí),將第一個(gè)符號(hào)作為轉(zhuǎn)換器或負(fù)號(hào)符.第一個(gè)將因上述的副作用一樣被更新(而獲得轉(zhuǎn)換器或負(fù)號(hào)符).(對(duì)于 Postgres 6.5,把兩個(gè)操作符指向?qū)Ψ酵瑯右残?。)?
HASHES,SORT1 和 SORT2 選項(xiàng)將為查詢優(yōu)化器進(jìn)行聯(lián)合查詢時(shí)提供支持.Postgres 能夠總是用語(yǔ)義替換  [WONG76] 來(lái)計(jì)算一個(gè)聯(lián)合(也就是說(shuō),處理這樣的子句,該子句有兩個(gè)記錄變量,這兩個(gè)變量被一個(gè)操作符分開,最后這個(gè)子句返回一個(gè)布爾量).另外, Postgres 準(zhǔn)備在行[SHAP86](?)實(shí)現(xiàn)一個(gè)哈希-聯(lián)合算法(hash-join algorithm);但是,我們必須知道這個(gè)策略是否可行.目前的哈希-聯(lián)合算法只是對(duì)代表相等測(cè)試的操作符有效;而且,數(shù)據(jù)類型的相等必須意味著類型的表現(xiàn)是按位相等的。(例如,一個(gè)包含未用的位的數(shù)據(jù)類型,這些位對(duì)相等測(cè)試沒(méi)有影響,但卻不能用于哈希聯(lián)合。)HASHES 標(biāo)記告訴優(yōu)化器,對(duì)這個(gè)操作符可以安全地使用哈希聯(lián)合?!?

類似的,兩目排序操作符告訴查詢優(yōu)化器一個(gè)融合-排序(merge-sort)是否是一個(gè)可用的聯(lián)合策略,并且告訴優(yōu)化器使用哪個(gè)操作符來(lái)對(duì)這兩個(gè)操作數(shù)表排序.排序操作符應(yīng)該只提供給相等操作符,并且它們應(yīng)該對(duì)應(yīng)用于對(duì)應(yīng)的左邊和右邊數(shù)據(jù)類型的小于操作符?!?

如果發(fā)現(xiàn)其他聯(lián)合策略可用, Postgres 將更改優(yōu)化器和運(yùn)行時(shí)系統(tǒng)以利用這些策略,并且在定義一個(gè)操作符時(shí)將需要更多的聲明.幸運(yùn)的是,研究團(tuán)隊(duì)不經(jīng)常發(fā)明新的聯(lián)合策略,而且增加用戶定義聯(lián)合策略的方法看來(lái)與其實(shí)現(xiàn)的復(fù)雜性相比是不值得的?!?

RESTRICT 和 JOIN 選項(xiàng)幫助優(yōu)化器計(jì)算結(jié)果的尺寸大小.如果像下面的語(yǔ)句: 

MYBOXES.description <<< box '((0,0),(1,1))'
在判斷條件中出現(xiàn),那么 Postgres 將不得不估計(jì) MYBOXES 中滿足該子句的記錄數(shù)量的范圍的大?。瘮?shù) res_proc 必需是一個(gè)注冊(cè)過(guò)的函數(shù)(也就是說(shuō)它已經(jīng)用 CREATE FUNCTION 定義過(guò)了),它接受一個(gè)正確數(shù)據(jù)的數(shù)據(jù)類型作為參數(shù),返回一個(gè)浮點(diǎn)數(shù).查詢優(yōu)化器只是簡(jiǎn)單的調(diào)用這個(gè)函數(shù),將參數(shù) ((0,0),(1,1))  傳入并且把結(jié)果乘以關(guān)系(表)尺寸以獲得所需要的記錄的數(shù)值?!?
類似的,當(dāng)操作符的操作數(shù)都包含記錄變量時(shí),優(yōu)化器必須計(jì)算聯(lián)合結(jié)果的尺寸.函數(shù) join_proc 將返回另一個(gè)浮點(diǎn)數(shù),這個(gè)數(shù)就是將兩個(gè)表相關(guān)的記錄相乘,計(jì)算出預(yù)期結(jié)果的尺寸. 

函數(shù) 

my_procedure_1 (MYBOXES.description, box '((0,0),(1,1))')
和操作符 
MYBOXES.description === box '((0,0),(1,1))'
之間的區(qū)別是 Postgres 試圖優(yōu)化操作符并且可以決定使用索引來(lái)縮小相關(guān)操作符的搜索區(qū)間.但是,對(duì)函數(shù)將不會(huì)有任何優(yōu)化的動(dòng)作,而且是強(qiáng)制執(zhí)行.最后,函數(shù)可有任意個(gè)參數(shù),而操作符限于一個(gè)或兩個(gè). 
注意
請(qǐng)參閱PostgreSQL 用戶手冊(cè) 中操作符章節(jié)獲取更多信息.請(qǐng)使用 DROP OPERATOR 從數(shù)據(jù)庫(kù)中刪除用戶定義操作符.
用法
下面命令定義一個(gè)新操作符,面積相等,用于 BOX 數(shù)據(jù)類型. 
CREATE OPERATOR === (
   LEFTARG = box,
   RIGHTARG = box,
   PROCEDURE = area_equal_procedure,
   COMMUTATOR = ===,
   NEGATOR = !==,
   RESTRICT = area_restriction_procedure,
   JOIN = area_join_procedure,
   HASHES,
   SORT1 = <<<,
   SORT2 = <<<
);
兼容性
SQL92
CREATE OPERATOR 是 Postgres 擴(kuò)展.在 SQL92 中沒(méi)有 CREATE OPERATOR 語(yǔ)句.
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

www.av99| 欧美成人在线免费视频| 精品久久人人做人人爱| 污污视频网站| 日韩欧美一区二区三区四区| 欧美爱爱视频网站| 最近日韩中文字幕| 中韩乱幕日产无线码一区| 伊人网站在线观看| 欧美性一区二区| 男男电影完整版在线观看| 婷婷久久综合九色综合绿巨人| 9.1成人看片免费版| 日韩精品资源二区在线| 国产亚洲精品日韩| 欧美三区免费完整视频在线观看| 黄色av资源| 日本精品视频在线播放| 亚洲国产一区在线观看| 国产啪精品视频| 免费在线观看成年人视频| 亚洲小说区图片区| 97久久人人超碰caoprom| 亚洲欧洲日产国码av系列天堂| 日本一本视频| 无码精品a∨在线观看中文| 久久美女艺术照精彩视频福利播放| 欧美中文一区| 免费观看在线一区二区三区| 欧美精品无码一区二区三区| 91久久精品一区二区三| 色资源二区在线视频| 精品精品久久| 国产亚洲第一页| 91av入口| 97精品久久久午夜一区二区三区| 欧美大肚乱孕交hd孕妇| 成人www视频在线观看| 中文字幕在线观看免费| videoxxxx另类日本极品| 中文字幕21页在线看| 人妻内射一区二区在线视频| 亚洲成人五区| 99久久影视| 欧美激情成人动漫| 欧美在线免费视频| 色综合久久精品亚洲国产| 国产精品成人在线观看| 天天视频天天爽| 精品美女被调教视频大全网站| 国产又猛又黄又爽| 国产系列在线观看| wwww.国产| 羞羞视频网站在线观看| 亚洲欧美日韩精品在线| 香蕉视频亚洲一级| 精品欧美激情精品一区| 神马久久久久久久久久| 一区二区三区中文在线| 视频一区二区三区不卡| 久久精品午夜福利| 日韩影院在线观看| 成人高清av在线| 欧美色蜜桃97| 中文字幕国产免费| 国产高清在线免费| 亚洲同志男男gay1069网站| 国产精品视频1区| 青青久久精品| 成人淫片免费视频95视频| 人妻无码一区二区三区| 中文字幕在线观看2018| 中文字幕亚洲精品一区| eeuss影院www在线观看手机| 久久男人资源视频| 日本天堂中文字幕| 国产精品美女诱惑| 国产欧美日韩精品高清二区综合区| 成人美女大片| 91精品国产91久久久久麻豆 主演| 超碰在线97免费| 国模娜娜一区二区三区| 97超超碰碰| a免费在线观看| 老色鬼久久亚洲一区二区| 国产成人精品福利一区二区三区| 国产乱子精品一区二区在线观看| www.色欧美| 国产黑丝在线一区二区三区| 日本伊人久久| 亚洲精品日韩一| 国产91aaa| 久久精品视频日本| 欧美丝袜在线观看| 国产精品自拍视频| 99久久99久久精品免费看蜜桃| 日本中文在线| 真实国产乱子伦精品一区二区三区| 中文字幕中文在线| 久草热久草热线频97精品| 精品精品久久| 好吊视频一区二区三区四区| 人人草在线观看| 中文字幕免费中文| 玖玖玖免费嫩草在线影院一区| 国产欧亚日韩视频| 色婷婷综合久久久中文字幕| 亚洲天堂黄色片| 国产精品999.| 成人污网站在线观看| 天堂中文字幕av| 国产成人精品视频免费| 日韩欧美亚洲综合| av一区在线播放| 精品国产鲁一鲁一区二区张丽| 濑亚美莉vs黑人在线观看| 黄色成人在线| 伊人中文字幕在线观看| 一区二区伦理片| 欧美专区18| 综合蜜桃精品| 日韩欧美99| 在线āv视频| 国产精品福利无圣光在线一区| 久久久999精品| 国产亚洲一区二区三区在线播放| 亚洲成a人v欧美综合天堂下载| 亚洲男人的天堂av| 亚洲精品视频中文字幕| 三级性生活视频| 在线免费一区三区| 久久综合一区二区三区| 在线播放你懂的| 色爱综合av| 四虎永久在线精品免费一区二区| 麻豆传媒在线视频| 欧美美女操人视频| 男女午夜激情视频| 捆绑裸体绳奴bdsm亚洲| 尤蜜粉嫩av国产一区二区三区| 欧美精品久久久久久久久25p| 亚洲在线视频一区二区| baoyu777.永久免费视频| 亚洲精品毛片| 国产精品久久中文字幕| 日本美女一区二区三区| 色综合久久久888| 爱福利视频一区二区| 新欧美整片sss第一页| 欧美久久视频| 夜夜精品视频| 欧美视频在线播放| 色视频在线免费| 亚洲精品一卡二卡| 日韩男女性生活视频| 亚洲男人第一天堂| 日韩电影一区二区三区四区| 四虎成年永久免费网站| 亚洲欧美国产精品桃花| 国产一区国产二区国产三区| 成人小视频免费看| 91成人在线看| 亚洲欧美综合网| 国产蜜臀在线| 蜜桃伊人久久| 一本色道久久综合无码人妻| wwwww黄色| 51精品在线| 国产精品1luya在线播放| av影院在线播放| 中文字幕高清一区| 日本三级中国三级99人妇网站| 欧美成人在线直播| 成人亚洲欧美一区二区三区| 成人午夜精品福利免费| 国产不卡av在线播放| 色视频免费在线| 午夜在线视频一区二区区别| 久久久精品性| 免费短视频成人日韩| 一本色道久久综合亚洲精品高清| 亚洲国产精品18久久久久久| 久久日韩视频| 成人男女网免费| 蜜桃视频中文字幕| 五月久久久综合一区二区小说| 五月婷婷婷婷婷| 少妇无套高潮一二三区| 亚洲精品传媒| 亚洲日本激情| 亚洲精品中文字幕乱码三区不卡| 国产鲁鲁视频在线观看免费| 国产精品进线69影院| 国产黄色一级网站| 日批免费在线观看| 精品一区二区三区中文字幕| 成人网18免费网站在线| 成人黄色777网| 亚洲午夜免费| 久久国产欧美日韩精品| 国产一区二区三区精彩视频| 亚洲精品视频99| 国产乱人伦丫前精品视频| 国产乱码精品一区二区三区五月婷| 一区二区不卡在线视频 午夜欧美不卡'| 日本一区二区三区电影免费观看| 中文字幕在线免费看线人| 国产精品十八以下禁看| 91精品国产91久久久久久吃药| 波多野结衣电影免费观看| 国产女人伦码一区二区三区不卡| 日本一区二区成人在线| 久草网站在线| 日韩美女国产精品| 亚洲av综合色区无码另类小说| 99精品一区二区三区的区别| 欧美一性一乱一交一视频| 国产精品夫妻激情| 久久精品99国产精品酒店日本| 欧美美女视频在线观看| 欧美日韩精品国产| 中文字幕超清在线免费观看| 99久久精品久久亚洲精品| 视频在线观看入口黄最新永久免费国产| 五福影院新址进入www1378| 欧美黑人又粗又大又爽免费| 精品电影在线观看| 日本黄大片在线观看| 欧美日韩一区中文字幕| 精品在线播放午夜| 婷婷六月国产精品久久不卡| 最新精品国偷自产在线| 日本午夜人人精品| 97超级碰碰人国产在线观看| 亚洲区国产区| 亚洲一区精品电影| 久久99精品久久久久久园产越南| 久久久噜噜噜久久中文字幕色伊伊| 亚洲欧美日韩另类| 国产精品入口麻豆原神| 中文字幕在线观看日本| 欧美在线视频免费播放| 久草福利资源在线| 91麻豆高清视频| 国产白丝精品91爽爽久久| 中文无字幕一区二区三区| www.国产精| 欧美二区在线视频| 欧美性受xxx黑人xyx性爽| 免费观看又污又黄在线观看国产| 蜜桃视频在线观看www| 黄a大片av永久免费| 欧美大交乱xxxxbbbb| 国产www视频| 给我免费播放片在线观看| 亚洲欧美视频二区| 精品一区二区三区在线观看国产| 国产精品人人妻人人爽人人牛| 欧美在线播放高清精品| 日韩不卡的av| 天堂va久久久噜噜噜久久va| xxxx黑人da| 免费在线观看av片| 妞干网在线观看| 试看120秒一区二区三区| 亚洲裸色大胆大尺寸艺术写真| 成人看的羞羞网站| 成人观看网站a| 国产十六处破外女视频| 久久精品国产99久久| 久久97人妻无码一区二区三区| 成人黄色网页| 91精品国产一区二区三区蜜臀| www.国产在线视频| 亚洲精品555| 婷婷精品久久久久久久久久不卡| 日本少妇高潮喷水xxxxxxx| 国产精品入口免费视频一| 91偷拍精品一区二区三区| 成年在线观看免费人视频| 日本99精品| 91蜜臀精品国产自偷在线| 日韩中文字幕亚洲精品欧美| 蜜桃导航-精品导航| 成人写真视频福利网| 欧美顶级少妇做爰| 亚洲天堂网在线观看视频| 久久99蜜桃综合影院免费观看| 黄色电影在线免费观看| 91av在线影院| 久久久久久网| 日本国产欧美一区二区三区| 熟妇人妻中文av无码| 午夜免费视频网站| 欧美一二三四区在线| 四虎4hu新地址入口2023| 无码中文字幕色专区| 欧美日韩一二三四区| 东北一级毛片| 丝袜在线观看| 亚洲高清久久久| 国产精品久久久一本精品| 欧美日韩美女一区二区| 日本五十路在线| 精品人妻一区二区三区免费看| 波多野结衣中文字幕在线播放| 91国内精品白嫩初高生| 日韩精品中文字幕一区二区| 国产在线一区二区三区四区| 亚洲在线电影| 蜜臀尤物一区二区三区直播| 红桃视频 国产| 五月天丁香花婷婷| 蜜桃视频在线观看免费视频网站www| 亚洲一区二区三区精品在线| 精品中文字幕av| 最新的欧美黄色| 精品国产精品网麻豆系列| 欧美激情xxxxx| 久久亚洲私人国产精品va| 日本三级很黄试看120秒| 一个人看的www视频免费观看| 综合蜜桃精品| jizzz18| 男人添女人下面高潮视频| 影音先锋中文在线观看| 337p粉嫩色噜噜噜大肥臀| 午夜精品美女自拍福到在线|