电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Oracle?function函數返回結果集的3種方法

瀏覽:5日期:2023-09-15 20:49:40
目錄一、簡介二、舉例三種返回結果集的方法1、以游標形式返回結果集2、以Table形式返回結果集3、以管道形式返回結果集總結一、簡介

在使用Oracle數據過程中,函數是非常好用的,我們經常定義一個函數用來處理相同的相似的問題的結果。

通常我們使用函數返回的都是單獨的值,可能是NUMBER,也可能是VARCHAR類型,其實使用函數也可以返回類似于表結構數據的形式的數據集。

最常用的是游標的方式,其次是Table的形式,最后又產生了管道的方式。管道的方式與前兩者不同的地方有它可以不用返回值,即RETURN后不用接內容,它是一行一行的返回數據。Table和管道的方式在調用時都是通過'TABLE()'關鍵字將函數的返回內容仿真成一個數據集。

二、舉例三種返回結果集的方法1、以游標形式返回結果集

(1)創建函數

CREATE OR REPLACE FUNCTION FN_R_REFCUR(P_VALUE IN VARCHAR2)RETURN SYS_REFCURSOR ISC_EMPNO SYS_REFCURSOR;BEGINOPEN C_EMPNO FORSELECT NAME,ADDR FROM EMP WHERE ADDR=P_VALUE;RETURN(C_EMPNO);END;/

(2)調用函數

SELECT FN_R_REFCUR('Raphael') FROM DUAL;2、以Table形式返回結果集

(1)創建函數

--定義一個行類型

CREATE OR REPLACE TYPE TYPE_TTEMP_ROW AS OBJECT(NAME VARCHAR2(10), ADDR VARCHAR2(20));

--定義一個表類型

CREATE OR REPLACE TYPE TYPE_TEMP_TABLE AS TABLE OF TYPE_TTEMP_ROW;

--創建函數

CREATE OR REPLACE FUNCTION FN_R_TAB (P_VALUE IN VARCHAR2)RETURN TYPE_TEMP_TABLE ISTEMP_ROW TYPE_TTEMP_ROW; -- 定義單行TEMP_TABLE TYPE_TEMP_TABLE := TYPE_TEMP_TABLE(); -- 定義返回結果,并初始化BEGINFOR CURROW IN (SELECT NAME, ADDR FROM EMP WHERE NAME=P_VALUE) -- 查詢名字是參數的值的結果LOOPTEMP_ROW := TYPE_TTEMP_ROW(CURROW.NAME, CURROW.ADDR); -- 獲得一行TEMP_TABLE.EXTEND; -- 表類型增加一行(EXTEND就是擴展的意思,相當于增加一行數據空間)TEMP_TABLE(EMP_TABLE.COUNT) := TEMP_ROW; -- 一行放進去END LOOP;RETURN(TEMP_TABLE);END;/

(2)調用函數

SELECT * FROM TABLE(FN_R_TAB('Raphael'));3、以管道形式返回結果集

(1)創建函數

--定義一個行類型

CREATE OR REPLACE TYPE TYPE_TTEMP_ROW AS OBJECT(NAME VARCHAR2(10), ADDR VARCHAR2(20));

--定義一個表類型

CREATE OR REPLACE TYPE TYPE_TEMP_TABLE AS TABLE OF TYPE_TTEMP_ROW;

--創建函數

CREATE OR REPLACE FUNCTION FN_R_PIP(P_VALUE IN VARCHAR2)RETURN TYPE_TEMP_TABLE PIPELINEDISTEMP_ROW TYPE_TTEMP_ROW; --定義一個行對象類型變量BEGINFOR CURROW IN (SELECT NAME, ADDR FROM EMP WHERE NAME=P_VALUE) -- 查詢名字是參數值的結果LOOPTEMP_ROW := TYPE_TTEMP_ROW(CURROW.NAME, CURROW.ADDR); -- 獲得一行PIPE ROW (TEMP_ROW); -- 返回一行END LOOP;RETURN; -- 這里返回沒有值END;/

(2)調用函數

SELECT * FROM TABLE(FN_R_PIP('Raphael'));

官網地址:Oracle | Cloud Applications and Cloud Platform

總結

到此這篇關于Oracle function函數返回結果集的3種方法的文章就介紹到這了,更多相關Oracle function函數返回結果集內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Oracle 數據庫
主站蜘蛛池模板: 凝胶成像仪,化学发光凝胶成像系统,凝胶成像分析系统-上海培清科技有限公司 | 顺景erp系统_erp软件_erp软件系统_企业erp管理系统-广东顺景软件科技有限公司 | 不锈钢螺丝,不锈钢螺栓,不锈钢标准件-江苏百德特种合金有限公司 交变/复合盐雾试验箱-高低温冲击试验箱_安奈设备产品供应杭州/江苏南京/安徽马鞍山合肥等全国各地 | 日本东丽膜_反渗透膜_RO膜价格_超滤膜_纳滤膜-北京东丽阳光官网 日本细胞免疫疗法_肿瘤免疫治疗_NK细胞疗法 - 免疫密码 | 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 塑木弯曲试验机_铜带拉伸强度试验机_拉压力测试台-倾技百科 | 温控器生产厂家-提供温度开关/热保护器定制与批发-惠州市华恺威电子科技有限公司 | 氢氧化钾厂家直销批发-济南金昊化工有限公司| 打包钢带,铁皮打包带,烤蓝打包带-高密市金和金属制品厂 | 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 塑料瓶罐_食品塑料瓶_保健品塑料瓶_调味品塑料瓶–东莞市富慷塑料制品有限公司 | Trimos测长机_测高仪_TESA_mahr,WYLER水平仪,PWB对刀仪-德瑞华测量技术(苏州)有限公司 | 南京种植牙医院【官方挂号】_南京治疗种植牙医院那个好_南京看种植牙哪里好_南京茀莱堡口腔医院 尼龙PA610树脂,尼龙PA612树脂,尼龙PA1010树脂,透明尼龙-谷骐科技【官网】 | 施工围挡-施工PVC围挡-工程围挡-深圳市旭东钢构技术开发有限公司 | 慈溪麦田广告公司,提供慈溪广告设计。 | 压砖机、液压制砖机、静压砖机、环保砖机生产厂家—杜甫机械 | 重庆LED显示屏_显示屏安装公司_重庆LED显示屏批发-彩光科技公司 重庆钣金加工厂家首页-专业定做监控电视墙_操作台 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 滚筒烘干机_转筒烘干机_滚筒干燥机_转筒干燥机_回转烘干机_回转干燥机-设备生产厂家 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 精密模具制造,注塑加工,吹塑和吹瓶加工,EPS泡沫包装生产 - 济南兴田塑胶有限公司 | 布袋式除尘器|木工除尘器|螺旋输送机|斗式提升机|刮板输送机|除尘器配件-泊头市德佳环保设备 | 杭州公司变更法人-代理记账收费价格-公司注销代办_杭州福道财务管理咨询有限公司 | 客服外包专业服务商_客服外包中心_网萌科技 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 济南品牌设计-济南品牌策划-即合品牌策划设计-山东即合官网 | 高压微雾加湿器_工业加湿器_温室喷雾-昌润空气净化设备 | 复盛空压机配件-空气压缩机-复盛空压机(华北)总代理 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 山东商品混凝土搅拌楼-环保型搅拌站-拌合站-分体仓-搅拌机厂家-天宇 | 碳化硅,氮化硅,冰晶石,绢云母,氟化铝,白刚玉,棕刚玉,石墨,铝粉,铁粉,金属硅粉,金属铝粉,氧化铝粉,硅微粉,蓝晶石,红柱石,莫来石,粉煤灰,三聚磷酸钠,六偏磷酸钠,硫酸镁-皓泉新材料 | 技德应用| 股指期货-期货开户-交易手续费佣金加1分-保证金低-期货公司排名靠前-万利信息开户 | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 儿童乐园|游乐场|淘气堡招商加盟|室内儿童游乐园配套设备|生产厂家|开心哈乐儿童乐园 | 注塑模具_塑料模具_塑胶模具_范仕达【官网】_东莞模具设计与制造加工厂家 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 暴风影音| 气动球阀_衬氟蝶阀_调节阀_电动截止阀_上海沃托阀门有限公司 | 阻垢剂-反渗透缓蚀阻垢剂厂家-山东鲁东环保科技有限公司 |