不理解oracle 的function是怎么用的,
题目
不理解oracle 的function是怎么用的,
CREATE OR REPLACE TYPE obj_NA_Issued_Exclude_NILNA
AS OBJECT
(
TOTAL_CASES VARCHAR2(500),
OBJECTED_CASES VARCHAR2(500),
NA_ISSUED_MONTH VARCHAR2(20),
PERCENTAGE VARCHAR2(12),
MET_TARGET VARCHAR2(10)
)
/
CREATE OR REPLACE TYPE tbl_NA_Issued_Exclude_NILNA
AS TABLE OF obj_NA_Issued_Exclude_NILNA
/
FUNCTION getNAIssuedExcludeNILNA(
NAIssuedDateFrom VARCHAR2,
NAIssuedDateTo VARCHAR2,
KPIObjectionRate VARCHAR2)
RETURN tbl_NA_Issued_Exclude_NILNA
IS
NA_Issued_Exclude_NILNA_TBL tbl_NA_Issued_Exclude_NILNA := tbl_NA_Issued_Exclude_NILNA();
CURSOR NA_Issued_Exclude_NILNA_CUR IS
SELECT * FROM DUAL;
BEGIN
FOR NA_Issued_Exclude_NILNA_REC IN NA_Issued_Exclude_NILNA_CUR
LOOP
NA_Issued_Exclude_NILNA_TBL.EXTEND;
NA_Issued_Exclude_NILNA_TBL(NA_Issued_Exclude_NILNA_TBL.LAST) := obj_NA_Issued_Exclude_NILNA(NA_Issued_Exclude_NILNA_REC.TOTAL_CASES,NA_Issued_Exclude_NILNA_RE
答案
这是个对象表的例子.
FUNCTION getNAIssuedExcludeNILNA(
NAIssuedDateFrom VARCHAR2,
NAIssuedDateTo VARCHAR2,
KPIObjectionRate VARCHAR2)
RETURN tbl_NA_Issued_Exclude_NILNA
声明函数getNAIssuedExcludeNILNA(),参数为...,返回值为tbl_NA_Issued_Exclude_NILNA类型(对象表).
IS
NA_Issued_Exclude_NILNA_TBL tbl_NA_Issued_Exclude_NILNA := tbl_NA_Issued_Exclude_NILNA();
CURSOR NA_Issued_Exclude_NILNA_CUR IS
SELECT * FROM DUAL;
初始化参数:tbl_NA_Issued_Exclude_NILNA为对象表NA_Issued_Exclude_NILNA_TBL的实例;NA_Issued_Exclude_NILNA_CUR为一个游标.
BEGIN
FOR NA_Issued_Exclude_NILNA_REC IN NA_Issued_Exclude_NILNA_CUR
LOOP
NA_Issued_Exclude_NILNA_TBL.EXTEND;
NA_Issued_Exclude_NILNA_TBL(NA_Issued_Exclude_NILNA_TBL.LAST) := obj_NA_Issued_Exclude_NILNA(NA_Issued_Exclude_NILNA_REC.TOTAL_CASES, NA_Issued_Exclude_NILNA_REC.OBJECTED_CASES, NA_Issued_Exclude_NILNA_REC.NA_ISSUED_MONTH, NA_Issued_Exclude_NILNA_REC.PERCENTAGE, NA_Issued_Exclude_NILNA_REC.MET_TARGET);
END LOOP;
函数的主体:
循环:每次从NA_Issued_Exclude_NILNA_CUR中取出一条记录到NA_Issued_Exclude_NILNA_REC中.
循环内部:NA_Issued_Exclude_NILNA_TBL.EXTEND;将对象表的实例扩展一条.
NA_Issued_Exclude_NILNA_TBL(NA_Issued_Exclude_NILNA_TBL.LAST) := obj_NA_Issued_Exclude_NILNA(NA_Issued_Exclude_NILNA_REC.TOTAL_CASES, NA_Issued_Exclude_NILNA_REC.OBJECTED_CASES, NA_Issued_Exclude_NILNA_REC.NA_ISSUED_MONTH, NA_Issued_Exclude_NILNA_REC.PERCENTAGE, NA_Issued_Exclude_NILNA_REC.MET_TARGET);
为对象表实例的最后一条(刚刚扩展出来的)赋值.
RETURN NA_Issued_Exclude_NILNA_TBL;
返回对象表的实例NA_Issued_Exclude_NILNA_TBL.
函数体结束.
举一反三
已知函数f(x)=x,g(x)=alnx,a∈R.若曲线y=f(x)与曲线y=g(x)相交,且在交点处有相同的切线,求a的值和该切线方程.
我想写一篇关于奥巴马的演讲的文章,写哪一篇好呢?为什么好
最新试题
- log以49为底343为真数等于多少
- 书店里故事书比漫画书少120本,当故事书卖掉五分之三,漫画书卖掉七分之五后,剩下相同,原来各有多少本?
- 与诗句“坐地日行八万里,巡天遥看一千河”最吻合的地点是( ) A.90°W 89°S B.80°E 40°N C.10°E 1°S D.180°W 71°N
- 地球磁极变化是真的吗
- 金属的活泼程度在置换反应中影响的是置换出来的速度还是质量.
- 英语小报主题
- 说一座桥能承受500斤的重量,一头猪有三百斤,可猪走道桥的中间桥就塌了 ,猪掉下去了.问为什么
- 已知坐标平面内三点A(0,4),B(0,2),C(4,3),那么△ABC的面积为
- 英语翻译
- 一个圆的周长是同圆直径的_倍.
热门考点
- 一条红领巾的面积是1650平方厘米,长边长1000厘米,长边上的高是多少
- 鉏,有的人读 chi,有的人读ci,画家鉏振阜的姓读ci(二声),不知哪位考证过这个字的读音及含义?
- 17.6-5.6*2.5的简便计算法
- 一个长方体水箱,长30厘米,宽42厘米,水箱里装着水,并有一个长21厘米,宽15厘米的小长方体铁块完全浸没在水中,
- What songs do you often listen to in your spare time?
- 最后一头战象
- 史记主要写什么
- 谁能告诉我Na2O2与CO2反应生成什么啊
- 甲数是乙数的1/3,乙数是丙数的1/3,甲数是丙数的( ) A.1/3 B.1/6 C.1/9 D.9倍
- 一块三角形菜地,底是40m,高是15m.如果每平方米收青菜2.5千克,这块地一共收青菜多少千克?