国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開發(fā) > 綜合 > 正文

在函數(shù)間不能傳遞32個(gè)以上參數(shù)的疑難問題

2024-07-21 02:43:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
本文中的示例主要是解決在函數(shù)間不能傳遞多個(gè)(32個(gè)以上)參數(shù)的問題,解題的具體思路就是采用記錄類型作為函數(shù)的輸入和返回值,所以我們需要先定義一個(gè)視圖,把它作為一個(gè)結(jié)構(gòu)類型,函數(shù)的輸入和輸出就用它作為數(shù)據(jù)類型,但是在研究過程中存在record類型不能直接作為函數(shù)的參數(shù)傳入?yún)?shù),所以我們需要建立一個(gè)函數(shù)test_rec3,這個(gè)函數(shù)的主要功能就是返回一個(gè)test_view形式的record結(jié)構(gòu),這樣在 test_rec2中將test_rec3的結(jié)果作為參數(shù)傳入,可以避免在直接傳入record類型變量的時(shí)候的錯(cuò)誤,在test_rec2中,又可以給其他傳入?yún)?shù)的其他屬性賦值,這樣可以多建幾個(gè)類似test_rec2的函數(shù),完成對(duì)傳入闡述的賦值,最后在test_rec1中賦值給一個(gè)record 類型變量,這樣test_rec2的返回值可以作為其他函數(shù)輸入,而且這個(gè)輸入的變量相當(dāng)于一個(gè)結(jié)構(gòu),雖然它是一個(gè)變量,但卻包含了多個(gè)變量的信息,從而實(shí)現(xiàn)了向一個(gè)函數(shù)中輸入操作系統(tǒng)限制數(shù)量的參數(shù)(32個(gè)) 。

create view test_view (p1,p2) as select cast(null as int),cast(null asint) create or replace function test_rec1(int,int) returns  test_view as  '  declare  view_rec test_view%rowtype ; view_rec1 test_view%rowtype ; begin  view_rec.p1 = 2; view_rec.p2 = 3; select * into view_rec1 from test_rec2( test_rec3($1),$2); return view_rec1; end;'language 'plpgsql';  create or replace function test_rec2(test_view,int) returns  test_view as  '  declare  view_return alias for $1; begin  view_return.p2 = $2; return view_return; end;'language 'plpgsql';  create or replace function test_rec3(int) returns  test_view as  '  declare  view_return test_view%rowtype; begin  view_return.p1 = $1; view_return.p2 =0; return view_return; end;'language 'plpgsql';

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 伊金霍洛旗| 荃湾区| 手游| 伊金霍洛旗| 新竹县| 古交市| 深州市| 巫山县| 玉树县| 友谊县| 延津县| 潼南县| 五华县| 绥阳县| 平昌县| 舟曲县| 彭水| 永新县| 西和县| 龙井市| 香河县| 镇沅| 专栏| 西峡县| 罗源县| 新余市| 株洲市| 昌乐县| 宁化县| 迭部县| 通化县| 张北县| 泽库县| 电白县| 无棣县| 施甸县| 新乡县| 莎车县| 海兴县| 华宁县| 安庆市|