<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國際加速解決方案。 廣告
                ### [postgresql record 使用](http://www.blogjava.net/agun/archive/2009/04/08/264508.html) 今天在做postgresql 存儲過程的時候,遇到了一個問題,找了好多資料沒有解決,最后經過思考終于解決了 創建一個存儲過程 ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) CREATE?OR?REPLACE?FUNCTION?test(OUT?name?character?varying,?OUT?_cur?refcursor?) ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) ??RETURNS?record?AS ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) $BODY$ ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) DECLARE ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) ????_geom?geometry; ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) BEGIN ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) ??name?=?'11'; ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) ??open?_cur??for???SELECT?id,name?FROM?test_tab; ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) ??--id?='222';? ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) END; ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) $BODY$ ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) ??LANGUAGE?'plpgsql'?VOLATILE ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) ??COST?100; ![](http://www.blogjava.net/Images/OutliningIndicators/None.gif) ALTER?FUNCTION?test()?OWNER?TO?pg; 就是上面這個存儲過程,我需要調用這個存儲過程得到輸出(返回的參數)。 文檔中這樣描述的: 記錄類型(record): 紀錄變量類似行類型變量,但是它們沒有預定義的結構。 它們在SELECT或者FOR命令中獲取實際的行結構。 一個行變量的子結構可以在每次賦值的時候改變。 這樣做的一個結果是:在一個記錄變量被賦予數值之前,它沒有子結構, 并且任何對其中的數據域進行訪問的企圖都將產生一個運行時錯誤。 請注意?RECORD?不是真正的數據類型,只是一個占位符。 我們還應該意識到在把一個?PL/pgSQL?函數聲明為返回record類型的時候, 它和一個記錄變量的概念并不完全相同,即使這個函數可能使用一個記錄變量保存它的結果也如此。 在兩種情況下,在書寫函數的時候,實際的行結構都是不知道的,但是對于返回?record?的函數來說, 實際的結構是在調用它的查詢被分析的時候決定的,而行變量可以在運行中改變其行結構。 使用方法:如獲得上面函數的返回結果 select ok.name,ok._cur from test() as ok(name character varying,_out refcursor) 但是這樣會報錯誤 ERROR:? a column definition list is only allowed for functions returning "record" 解決方法: 直接使用函數名稱+"."的方式解決 select test.name,test._cur from test()
                  <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>

                              哎呀哎呀视频在线观看