CREATE OPERATOR

中文man手册

CREATE OPERATOR

NAME
SYNOPSIS
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