国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 延川县| 阜新| 平顶山市| 韩城市| 衡阳市| 阳朔县| 黄陵县| 东乌| 紫云| 榕江县| 简阳市| 枝江市| 泸溪县| 叙永县| 南召县| 周宁县| 江城| 灵璧县| 苏州市| 麻江县| 溧阳市| 贵定县| 涞源县| 蚌埠市| 会东县| 手机| 兴山县| 揭东县| 保山市| 平陆县| 北安市| 耒阳市| 海阳市| 南召县| 洞口县| 北川| 涡阳县| 安龙县| 丹东市| 南城县| 西吉县|