<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Jason ---分享,共同進步

    激情成就夢想,努力創造未來
    隨筆 - 53, 文章 - 1, 評論 - 45, 引用 - 0
    數據加載中……

    postgresql record 使用

    今天在做postgresql 存儲過程的時候,遇到了一個問題,找了好多資料沒有解決,最后經過思考終于解決了

    創建一個存儲過程

    CREATE OR REPLACE FUNCTION test(OUT name character varying, OUT _cur refcursor )
      
    RETURNS record AS
    $BODY$
    DECLARE
        _geom geometry;
    BEGIN
      name 
    = '11';
      
    open _cur  for   SELECT id,name FROM test_tab;
      
    --id ='222'; 
    END;
    $BODY$
      LANGUAGE 
    'plpgsql' VOLATILE
      COST 
    100;
    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()

    posted on 2009-04-08 19:12 agun 閱讀(5681) 評論(0)  編輯  收藏 所屬分類: 數據庫

    主站蜘蛛池模板: 免费久久精品国产片香蕉| 91成人免费观看| 亚洲av片一区二区三区| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 成年人视频在线观看免费| 久草福利资源网站免费| 亚洲大尺度无码无码专区| 亚洲Av无码一区二区二三区| 最近中文字幕免费完整| 亚洲欧洲日产专区| 久久www免费人成精品香蕉| 国产2021精品视频免费播放| 亚洲黄色三级网站| 99久久精品日本一区二区免费 | 亚洲AV无码一区二区三区系列| 国产麻豆成人传媒免费观看| 亚洲国产精品自在在线观看 | 中文字幕亚洲无线码a| 亚洲AV永久无码精品网站在线观看| 毛片免费在线观看网址| 无码毛片一区二区三区视频免费播放| 成年女人喷潮毛片免费播放| 亚洲精品国产高清在线观看| 亚洲第一页日韩专区| 国产一区二区免费视频| 亚洲人成在线精品| 波多野结衣视频在线免费观看| 一级做a爰黑人又硬又粗免费看51社区国产精品视 | 毛片a级毛片免费观看品善网| 国产亚洲精品免费| 久久精品国产精品亚洲艾| 免费在线观看的网站| 污污视频网站免费观看| 婷婷亚洲久悠悠色悠在线播放| 国产美女在线精品免费观看| 一级一级一级毛片免费毛片| 久久久无码精品亚洲日韩蜜臀浪潮| 成全视频高清免费观看电视剧| 亚洲制服丝袜在线播放| 亚洲国产精品成人一区| 国产人成免费视频网站|