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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 8.19\. 偽類型 PostgreSQL類型系統包含一系列特殊用途的條目, 它們按照類別來說叫做_偽類型_。偽類型不能作為字段的數據類型, 但是它可以用于聲明一個函數的參數或者結果類型。 偽類型在一個函數不只是簡單地接受并返回某種SQL 數據類型的情況下很有用。[Table 8-24](#calibre_link-957)列出了所有的偽類型。 **Table 8-24\. 偽類型** | 名字 | 描述 | | --- | --- | | `any` | 表示一個函數接受任何輸入數據類型。 | | `anyelement` | 表示一個函數接受任何數據類型 (參閱[Section 35.2.5](#calibre_link-909))。 | | `anyarray` | 表示一個函數接受任意數組數據類型 (參閱[Section 35.2.5](#calibre_link-909))。 | | `anynonarray` | 表示一個函數接受任意非數組數據類型 (參閱[Section 35.2.5](#calibre_link-909))。 | | `anyenum` | 表示一個函數接受任意枚舉數據類型 (參閱[Section 35.2.5](#calibre_link-909) 和 [Section 8.7](#calibre_link-825))。 | | `anyrange` | 表示一個函數接受任意范圍數據類型 (參閱 [Section 35.2.5](#calibre_link-909) 和 [Section 8.17](#calibre_link-1153))。 | | `cstring` | 表示一個函數接受或者返回一個空結尾的 C 字符串。 | | `internal` | 表示一個函數接受或者返回一種服務器內部的數據類型。 | | `language_handler` | 一個過程語言調用處理器聲明為返回`language_handler`。 | | `fdw_handler` | 一個外部數據封裝器聲明為返回`fdw_handler`。 | | `record` | 標識一個函數返回一個未聲明的行類型。 | | `trigger` | 一個觸發器函數聲明為返回`trigger`。 | | `void` | 表示一個函數不返回數值。 | | `opaque` | 一個已經過時的類型,以前用于所有上面這些用途。 | 用 C 編寫的函數(不管是內置的還是動態裝載的)都可以聲明為接受或者返回這樣的偽數據類型。 在把偽類型用做函數參數類型的時候,保證函數行為正常就是函數作者的任務了。 用過程語言編寫的函數只能根據它們的實現語言是否可以使用偽類型而使用它。 目前,過程語言都不允許使用偽類型作為參數類型,并且只允許使用`void` 和`record`作為結果類型(如果函數用做觸發器,那么加上`trigger`)。 一些多態的函數還支持使用`anyelement`,`anyarray`,`anynonarray` `anyenum`和`anyrange`類型。 偽類型`internal`用于聲明那種只能在數據庫系統內部調用的函數, 它們不能直接在SQL查詢里調用。如果函數至少有一個 `internal`類型的參數,那么我們就不能從SQL 里調用它。為了保留這個限制的類型安全,我們一定要遵循這樣的編碼規則: 不要創建任何聲明為返回`internal`的函數, 除非它至少有一個`internal`參數。
                  <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>

                              哎呀哎呀视频在线观看