本篇內(nèi)容主要講解“PostgreSQL函數(shù)如何返回OUT參數(shù)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“PostgreSQL函數(shù)如何返回OUT參數(shù)”吧!
創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比輝縣網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式輝縣網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋輝縣地區(qū)。費(fèi)用合理售后完善,十年實(shí)體公司更值得信賴(lài)。
1、系統(tǒng)表 pg_proc
的字段含義
prorettype :返回值類(lèi)型
proretset:返回值是否為集合
proargmodes:參數(shù)模式(IN、OUT、INOUT)
2、查找現(xiàn)成的示例
一般我們都能在PG的現(xiàn)有代碼中找到使用方法:
SELECT proname,proargmodes,prorettype::regtype,array_position(proargmodes, 'o') FROM pg_proc WHERE NOT proretset AND proargmodes IS NOT NULL AND (array_position(proargmodes, 'o') IS NOT NULL OR array_position(proargmodes, 'b') IS NOT NULL) LIMIT 10;
返回包含OUT和INOUT參數(shù)的函數(shù)定義,'b' 為 INOUT參數(shù)。注意上邊 ::regtype
的用法,增強(qiáng)結(jié)果的可讀性:
pg_stat_get_archiver | {o,o,o,o,o,o,o} | record | 1 pg_event_trigger_table_rewrite_oid | {o} | oid | 1
更多結(jié)果略。
3、多個(gè)OUT參數(shù)的返回
打開(kāi)函數(shù) pg_stat_get_archiver
// 自己定義TupleDesc,數(shù)量不包含IN入?yún)? // 與前邊講過(guò)的返回結(jié)果集構(gòu)建方法相同 tupdesc = CreateTemplateTupleDesc(7); // 不一樣的地方 BlessTupleDesc(tupdesc); /* 構(gòu)建 values 和 nulls 數(shù)組 */ // 返回結(jié)果 PG_RETURN_DATUM(HeapTupleGetDatum(heap_form_tuple(tupdesc, values, nulls)));
結(jié)果集函數(shù)在 TupleDescGetAttInMetadata 中調(diào)用 BlessTupleDesc
。
4、返回單個(gè)出參
直接調(diào)用 PG_RETURN_xxx
系列返回即可,pg_event_trigger_table_rewrite_oid 函數(shù)中:
PG_RETURN_OID(currentEventTriggerState->table_rewrite_oid);
5、INOUT參數(shù)
官方代碼沒(méi)有例子,猜測(cè)可以這樣:輸入值用 PG_GETARG_xx
取得,輸出與OUT相同,有興趣可以寫(xiě)個(gè)代碼自己試試。
到此,相信大家對(duì)“PostgreSQL函數(shù)如何返回OUT參數(shù)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!
當(dāng)前題目:PostgreSQL函數(shù)如何返回OUT參數(shù)
URL地址:http://jinyejixie.com/article10/ppspgo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站導(dǎo)航、搜索引擎優(yōu)化、網(wǎng)站收錄、面包屑導(dǎo)航、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
營(yíng)銷(xiāo)型網(wǎng)站建設(shè)知識(shí)