CREATE OPERATOR
目录
CREATE OPERATOR
NAMESYNOPSIS
DESCRIPTION æè¿°
PARAMETERS åæ°
NOTES 注æ
EXAMPLES ä¾å
COMPATIBILITY å¼å®¹æ§
è¯è
è·
NAME
CREATE OPERATOR - å®ä¹ä¸ä¸ªæ°çæä½ç¬¦
SYNOPSIS
CREATE OPERATOR
name (
PROCEDURE = funcname
[, LEFTARG = lefttype ] [, RIGHTARG =
righttype ]
[, COMMUTATOR = com_op ] [, NEGATOR = neg_op ]
[, RESTRICT = res_proc ] [, JOIN = join_proc ]
[, HASHES ] [, MERGES ]
[, SORT1 = left_sort_op ] [, SORT2 =
right_sort_op ]
[, LTCMP = less_than_op ] [, GTCMP =
greater_than_op ]
)
DESCRIPTION æè¿°
CREATE OPERATOR å®ä¹ä¸ä¸ªæ°çæä½ç¬¦ï¼ nameã å®ä¹è¯¥æä½ç¬¦çç¨æ·æä¸ºå¶ææèã妿ç»åºäºä¸ä¸ªæ¨¡å¼åï¼é£ä¹è¯¥æä½ç¬¦å°å¨æå®ç模å¼ä¸- å建ã å¦åå®ä¼å¨å½å模å¼ä¸å建ã
æä½ç¬¦ name æ¯ä¸ä¸ªæå¤NAMEDATALEN-1 é¿çï¼ç¼ºç为 63 个ï¼ä¸åå- ç¬¦ç»æçå串ï¼
+ - * / < > = ˜ ! @ # % ˆ & | ‘ ?
ä½ éæ©ååçæ¶åæå 个éå¶ï¼
|
• |
-- å /* ä¸è½å¨æä½ç¬¦ååçä»»ä½å°æ¹åºç°ï¼ å 为å®ä»¬ä¼è¢«è®¤ä¸ºæ¯ä¸ä¸ªæ³¨éçå¼å§ã | ||
|
• |
ä¸ä¸ªå¤å符çæä½ç¬¦ååä¸è½ä»¥ + æ - ç»å°¾ï¼ é¤é该ååè¿åå«è³å°ä¸é¢å- 符ä¹ä¸ï¼
˜ ! @ # % ˆ & | ‘ ?
ä¾å¦ï¼ @- æ¯ä¸ä¸ªå许çæä½ç¬¦åï¼ ä½ *- 䏿¯ã è¿ä¸ªéå¶å许 PostgreSQL åæ SQL-æé®é¢çæ¥è¯¢èä¸è¦æ±å¨ç¬¦å·ä¹é´æç©ºç½ã
æä½ç¬¦ != å¨è¾å¥æ¶æ å°æ <>ï¼ å æ¤è¿ä¸¤ä¸ªåç§°æ»æ¯ç¸ççã
è³å°éè¦å®ä¹ä¸ä¸ªLEFTARGæRIGHTARGã 对äºåç®æä½ç¬¦æ¥è¯´ï¼ä¸¤èé½éè¦å®ä¹ã 对å³ç®æä½ç¬¦æ¥è¯´ï¼åªéè¦å®ä¹LEFTARGï¼ è对äºå·¦ç®æä½ç¬¦æ¥è¯´ï¼åªéè¦å®ä¹RIGHTARGã
åæ ·ï¼funcname è¿ç¨å¿é¡»å·²ç»ç¨ CREATE FUNCTION å®ä¹è¿ï¼ èä¸å¿é¡»å®ä¹ä¸ºæ¥åæ£ç¡®æ°éçæå®ç±»ååæ°ï¼ä¸ä¸ªææ¯ä¸¤ä¸ªï¼ã
å¶å®åå¥å£°æå¯éçæä½ç¬¦ä¼ååå¥ãä»ä»¬çå«ä¹å¨ ‘‘User-Defined Operators’’ éå®ä¹ã
PARAMETERS åæ°
|
name |
è¦å®ä¹çæä½ç¬¦ååãå¯ç¨çå符è§ä¸æã å¶ååå¯ä»¥ç¨æ¨¡å¼ä¿®é¥°ï¼æ¯å¦ CREATE OPERATOR myschema.+ (...)ã å¦ææ²¡ææ¨¡å¼ï¼åå¨å½å模å¼ä¸- å建æä½ç¬¦ãåä¸ä¸ªæ¨¡å¼ä¸ç两个æä½ç¬¦å¯ä»¥æä¸æ ·çåå- ï¼åªè¦ä»ä»¬æä½ä¸åçæ°æ®ç±»åãè¿å«å éè½½ã
funcname
ç¨äºå®ç°è¯¥æä½ç¬¦ç彿°ã
lefttype
妿åå¨çè¯ï¼æä½ç¬¦å·¦æè¾¹çåæ°ç±»åã 妿æ¯å·¦ç®æä½ç¬¦ï¼è¿ä¸ªåæ°å¯ä»¥çç¥ã
righttype
妿åå¨çè¯ï¼æä½ç¬¦å³æè¾¹çåæ°ç±»åã 妿æ¯å³ç®æä½ç¬¦ï¼è¿ä¸ªåæ°å¯ä»¥çç¥ã
|
com_op |
该æä½ç¬¦å¯¹åºç交æ¢ï¼commutatorï¼æä½ç¬¦ã
|
neg_op |
对åºçè´æä½ç¬¦ã
res_proc
æ¤æä½ç¬¦çº¦æéæ©æ§è®¡ç®å½æ°ã
join_proc
æ¤æä½ç¬¦è¿æ¥éæ©æ§è®¡ç®å½æ°ã
|
HASHES |
è¡¨ææ¤æä½ç¬¦æ¯æåå¸ï¼æ£åï¼è¿æ¥ã
|
MERGES |
è¡¨ææ¤æä½ç¬¦å¯ä»¥æ¯æä¸ä¸ªèåè¿æ¥ã
left_sort_op
å¦ææ¤æä½ç¬¦æ¯æèåè¿æ¥ï¼joinï¼ï¼æ¤æä½ç¬¦çå·¦æè¾¹æ°æ®çæåºæä½ç¬¦ã
right_sort_op
å¦ææ¤æä½ç¬¦æ¯æèåè¿æ¥ï¼joinï¼ï¼æ¤æä½ç¬¦çå³æè¾¹æ°æ®çæåºæä½ç¬¦ã
less_than_op
妿è¿ä¸ªæä½ç¬¦å¯ä»¥æ¯æèåè¿æ¥ï¼é£ä¹è¿å°±æ¯æ¯è¾è¿ä¸ªæä½ç¬¦çè¾å¥æ°æ®ç±»åçå°äºæä½ç¬¦ã
greater_than_op
妿è¿ä¸ªæä½ç¬¦ä¸æ¯æèåè¿æ¥ï¼é£ä¹è¿å°±æ¯æ¯è¾è¾å¥è¿ä¸ªæä½ç¬¦çæ°æ®ç±»åçå¤§äºæä½ç¬¦ã
è¦å¨ com_op æèå¶å®å¯éåæ°éç»åºä¸ä¸ªæ¨¡å¼ä¿®é¥°çæä½ç¬¦åï¼ä½¿ç¨ OPERATOR() è¯æ³ï¼æ¯å¦
COMMUTATOR = OPERATOR(myschema.===) ,
NOTES 注æ
请åé ‘‘User-Defined Operators’’ 䏿ä½ç¬¦ç« èè·åæ´å¤ä¿¡æ¯ã
è¯·ä½¿ç¨ DROP OPERATOR 仿°æ®åºä¸å é¤ç¨æ·å®ä¹æä½ç¬¦ã
EXAMPLES ä¾å
ä¸é¢å½ä»¤å®ä¹ä¸ä¸ªæ°æä½ç¬¦ï¼é¢ç§¯ç¸çï¼ç¨äº box æ°æ®ç±»åã
CREATE OPERATOR
=== (
LEFTARG = box,
RIGHTARG = box,
PROCEDURE = area_equal_procedure,
COMMUTATOR = ===,
NEGATOR = !==,
RESTRICT = area_restriction_procedure,
JOIN = area_join_procedure,
HASHES,
SORT1 = <<<,
SORT2 = <<<
--
å 为ç»åºäºæåºæä½ç¬¦ï¼ç´¢å¼éå«å°æ
MERGESã
-- LTCMP å GTCMP
åå«å设æ¯
< å >
);
COMPATIBILITY å¼å®¹æ§
CREATE OPERATOR æ¯ PostgreSQL æ©å±ã å¨SQLæ å䏿²¡æ CREATE OPERATOR è¯- å¥ã
è¯è
Postgresql 䏿ç½ç« ä½ä¼å¹³ <laser@pgsqldb.org>
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh