<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # CREATE OPERATOR ## Name CREATE OPERATOR?--?定義一個新操作符 ## Synopsis ``` CREATE OPERATOR _name_ ( PROCEDURE = _function_name_ [, LEFTARG = _left_type_ ] [, RIGHTARG = _right_type_ ] [, COMMUTATOR = _com_op_ ] [, NEGATOR = _neg_op_ ] [, RESTRICT = _res_proc_ ] [, JOIN = _join_proc_ ] [, HASHES ] [, MERGES ] ) ``` ## 描述 `CREATE OPERATOR`定義一個新的 `_name_`操作符。 定義該操作符的用戶將成為其所有者。如果給出了一個模式名, 那么該操作符將在指定的模式中創建。否則它會在當前模式中創建。 操作符 name 是一個最多`NAMEDATALEN`-1長的(缺省為 63 個) 下列字符組成的字符串: +?-?*?/?&lt;?&gt;?=?~?!?@?#?%?^?&?|?`?? 你選擇名字的時候有幾個限制: * `--`和`/*`不能在操作符名的任何地方出現, 因為它們會被認為是一個注釋的開始。 * 一個多字符的操作符不能以`+`或`-`結尾, 除非該名字還包含至少下面字符之一: ~?!?@?#?%?^?&?|?`?? 例如,`@-`是一個允許的操作符名,但`*-`不是。 這個限制允許PostgreSQL 分析 SQL 兼容的查詢而不要求在符號之間有空白。 * `=&gt;`作為一個操作符名的使用已經廢棄了。可能在未來的版本中完全禁用。 操作符`!=`在輸入時映射成`&lt;&gt;`, 因此這兩個名稱總是等價的。 至少需要定義一個`LEFTARG`和`RIGHTARG`。對于雙目操作符來說, 兩者都需要定義。對右目操作符來說,只需要定義`LEFTARG`, 而對于左目操作符來說,只需要定義`RIGHTARG`。 同樣,`_function_name_` 過程必須已經用`CREATE FUNCTION`定義過, 而且必須定義為接受正確數量的指定類型參數(一個或是兩個)。 其它子句聲明可選的操作符優化子句。他們的含義在[Section 35.13](#calibre_link-839)里定義。 要想能夠創建一個操作符,你必須在參數類型和返回類型上有`USAGE`權限, 還要在底層函數上有`EXECUTE`權限。如果指定了交換或者負操作符, 你必須擁有這些操作符。 ## 參數 `_name_` 要定義的操作符。可用的字符見上文。其名字可以用模式修飾, 比如`CREATE OPERATOR myschema.+ (...)`。如果沒有模式, 則在當前模式中創建操作符。同一個模式中的兩個操作符可以有一樣的名字, 只要他們操作不同的數據類型。這叫做_重載_。 `_function_name_` 用于實現該操作符的函數。 `_left_type_` 操作符左邊的參數數據類型,如果存在的話。如果是左目操作符,這個參數可以省略。 `_right_type_` 操作符右邊的參數數據類型,如果存在的話。如果是右目操作符,這個參數可以省略。 `_com_op_` 該操作符對應的交換操作符。 `_neg_op_` 該操作符對應的負操作符。 `_res_proc_` 此操作符約束選擇性評估函數。 `_join_proc_` 此操作符連接選擇性評估函數。 `HASHES` 表明此操作符支持 Hash 連接。 `MERGES` 表明此操作符可以支持一個融合連接。 使用`OPERATOR()`語法在`_com_op_` 或者其它可選參數里給出一個模式修飾的操作符名,比如: ``` COMMUTATOR = OPERATOR(myschema.===) , ``` ## 注意 參閱[Section 35.12](#calibre_link-838)中的操作符章節獲取更多信息。 在`CREATE OPERATOR`中指定操作符的詞法優先級是不可能的, 因為分析器的優先級行為是硬鏈接的。參閱[Section 4.1.6](#calibre_link-538) 獲取優先級的詳細信息。 廢棄的選項`SORT1`、`SORT2`、`LTCMP`和 `GTCMP`以前用于指定與可合并連接的操作符相關的排序操作符的名字。 現在不再需要了,因為相關操作符的信息通過查詢B-tree操作符類來找到。 如果給出了這些中的一個選項,那么會忽略該選項,除非暗中設置`MERGES`為真。 使用[DROP OPERATOR](#calibre_link-606)從數據庫中刪除用戶定義操作符。 使用[ALTER OPERATOR](#calibre_link-610)修改一個數據庫里的操作符。 ## 例子 下面命令定義一個新操作符:面積相等,用于`box`數據類型。 ``` CREATE OPERATOR === ( LEFTARG = box, RIGHTARG = box, PROCEDURE = area_equal_procedure, COMMUTATOR = ===, NEGATOR = !==, RESTRICT = area_restriction_procedure, JOIN = area_join_procedure, HASHES, MERGES ); ``` ## 兼容性 `CREATE OPERATOR`是PostgreSQL擴展。 SQL 標準中沒有該語句。 ## 又見 [ALTER OPERATOR](#calibre_link-610), [CREATE OPERATOR CLASS](#calibre_link-53), [DROP OPERATOR](#calibre_link-606)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看