<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 35.12\. 用戶定義操作符 每個操作符都是對真正干活的對應函數的"語義修飾"; 所以你在創建操作符之前必須先創建對應的函數。不過,一個操作符也并_不僅僅_ 是語義修飾,因為它還帶著可以幫助查詢規劃器優化查詢使用該操作符的附加信息。 下一節將用于解釋這些附加信息。 PostgreSQL支持左目、右目、雙目操作符。操作符可以重載; 也就是說,同一個操作符名可以用于不同數目和類型的操作數的操作符。在執行一個查詢的時候, 系統從提供的操作數的數量和類型上判斷需要調用哪個操作符。 下面是一個創建用于兩個復數相加的操作符的例子。假設已經創建了`complex` (見節[Section 35.11](#calibre_link-837))類型的定義。首先需要做相加工作的函數;然后就可以定義操作符: ``` CREATE FUNCTION complex_add(complex, complex) RETURNS complex AS '_filename_', 'complex_add' LANGUAGE C IMMUTABLE STRICT; CREATE OPERATOR + ( leftarg = complex, rightarg = complex, procedure = complex_add, commutator = + ); ``` 現在可以執行像下面這樣的查詢: ``` SELECT (a + b) AS c FROM test_complex; c ----------------- (5.2,6.05) (133.42,144.95) ``` 在這里已經演示了如何創建雙目操作符。要創建單目操作符,只需要省略`leftarg` 或者`rightarg`即可。只有`procedure`子句和參數(argument)子句是 `CREATE OPERATOR`里需要的條目。例子里演示的`commutator` 子句是一個給查詢優化器的可選暗示。關于`commutator` 和其它優化器提示的詳細信息在下節給出。
                  <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>

                              哎呀哎呀视频在线观看