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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # dblink ## Name dblink?--?在遠程數據庫中執行查詢 ## Synopsis ``` dblink(text connname, text sql [, bool fail_on_error]) returns setof record dblink(text connstr, text sql [, bool fail_on_error]) returns setof record dblink(text sql [, bool fail_on_error]) returns setof record ``` ## 描述 `dblink`在遠程數據庫中執行查詢(通常`SELECT`,但是它 可以是任何返回行的SQL語句)。 當給定兩個`text`參數時,第一個作為持久連接名稱首先被查找;如果發現了, 那么在連接上執行該命令。如果沒有發現,那么第一個參數被看作`dblink_connect`的連接信息字符串,并且指定連接為了該命令的整個時間段。 ## 參數 `conname` 要使用的連接名稱;省略這個參數使用未命名連接。 `connstr` 連接信息字符串,如先前描述的`dblink_connect`。 `sql` 你希望在遠程數據庫中執行的SQL查詢,比如`select * from foo`。 `fail_on_error` 如果真(忽略時缺省)那么在連接的遠程端拋出的錯誤也會導致本地拋出錯誤, 如果假,那么遠程錯誤在本地作為NOTICE被報告, 并且函數沒有返回行。 ## 返回值 該函數返回查詢產生的行。因為`dblink`可以用于任何查詢, 它被聲明為返回`record`,而不是指定任何特定列。這意味著 在調用查詢中你必須指定預期列; 否則PostgreSQL不知道發生什么,這有個例子: ``` SELECT * FROM dblink('dbname=mydb', 'select proname, prosrc from pg_proc') AS t1(proname name, prosrc text) WHERE proname LIKE 'bytea%'; ``` `FROM`子句的"alias"部分必須指定函數將要返回的列名和類型。 (在別名中指定列名實際上是標準SQL語法,但是指定列類型是PostgreSQL擴展。) 這允許系統理解`*`應該擴展到什么,以及在`WHERE`子句中`proname` 指向什么,提前嘗試執行該函數。在運行時,如果遠程數據庫的實際查詢結果沒有`FROM`子句中顯示 的相同列數,那么將拋出錯誤。列名不需要匹配,然而,`dblink` 不堅持確切類型匹配。只要返回的數據字符串對于`FROM`子句中聲明的 列類型是有效輸入那么它將成功。 ## 注意 預定義查詢使用`dblink`的一個便捷方式是創建視圖。 這允許將列類型信息放在視圖中,而不是在每個查詢中拼出它。比如, ``` CREATE VIEW myremote_pg_proc AS SELECT * FROM dblink('dbname=postgres', 'select proname, prosrc from pg_proc') AS t1(proname name, prosrc text); SELECT * FROM myremote_pg_proc WHERE proname LIKE 'bytea%'; ``` ## 例子 ``` SELECT * FROM dblink('dbname=postgres', 'select proname, prosrc from pg_proc') AS t1(proname name, prosrc text) WHERE proname LIKE 'bytea%'; proname | prosrc ------------+------------ byteacat | byteacat byteaeq | byteaeq bytealt | bytealt byteale | byteale byteagt | byteagt byteage | byteage byteane | byteane byteacmp | byteacmp bytealike | bytealike byteanlike | byteanlike byteain | byteain byteaout | byteaout (12 rows) SELECT dblink_connect('dbname=postgres'); dblink_connect ---------------- OK (1 row) SELECT * FROM dblink('select proname, prosrc from pg_proc') AS t1(proname name, prosrc text) WHERE proname LIKE 'bytea%'; proname | prosrc ------------+------------ byteacat | byteacat byteaeq | byteaeq bytealt | bytealt byteale | byteale byteagt | byteagt byteage | byteage byteane | byteane byteacmp | byteacmp bytealike | bytealike byteanlike | byteanlike byteain | byteain byteaout | byteaout (12 rows) SELECT dblink_connect('myconn', 'dbname=regression'); dblink_connect ---------------- OK (1 row) SELECT * FROM dblink('myconn', 'select proname, prosrc from pg_proc') AS t1(proname name, prosrc text) WHERE proname LIKE 'bytea%'; proname | prosrc ------------+------------ bytearecv | bytearecv byteasend | byteasend byteale | byteale byteagt | byteagt byteage | byteage byteane | byteane byteacmp | byteacmp bytealike | bytealike byteanlike | byteanlike byteacat | byteacat byteaeq | byteaeq bytealt | bytealt byteain | byteain byteaout | byteaout (14 rows) ```
                  <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>

                              哎呀哎呀视频在线观看