我创建了一个嵌套表
我想将游标光标(C_get_cards)批量放入已创建的嵌套表中。
我想将嵌套表用作表STAT_QUERIES
中的一列。
如何在一个程序中组合所有这三个步骤?如果我的方法有误,请纠正我。
--Nested Table---
CREATE OR REPLACE TYPE T_card_details AS TABLE OF VARCHAR2(20) -- define type
/
CREATE TYPE Query AS OBJECT ( -- create object
CARD_QUERY T_card_details) -- declare nested table as attribute
/
CREATE TABLE STAT_QUERIES (
OBJECTTYPE VARCHAR2(50),
CATEGORY VARCHAR2(100),
CARD_QUERY T_card_details)
NESTED TABLE CARD_QUERY STORE AS CARD_QUERY_TAB;
select * FROM STAT_QUERIES
-- The cursor bulk collect into T_CARD details
CREATE OR REPLACE PROCEDURE NRMSP_INVENTORYSTATS IS
CURSOR C_get_cards
IS
SELECT
nt.name nt_name
,nd.name nd_name
,ct.name ct_name
,ps.name ps_name
,count(c.cardid)
FROM cardtype ct, card c, node n, nodetype nt, nodedef nd, provisionstatus ps
WHERE ct.name in ('SRA AMP', 'XLA AMP', 'SAM', 'ESAM')
AND ct.cardtypeid = c.card2cardtype
AND c.card2node = n.nodeid
AND n.node2nodetype = nt.nodetypeid
AND n.node2nodedef = nd.nodedefid
AND c.card2provisionstatus = ps.provisionstatusid
GROUP by nt.name, nd.name, ct.name, ps.name
;
TYPE cards_TAB_TYPE IS TABLE OF C_get_cards%ROWTYPE INDEX BY BINARY_INTEGER ;
T_card_details cards_TAB_TYPE ;
BEGIN
OPEN C_get_cards ;
FETCH C_get_cards
BULK COLLECT INTO T_card_details
LIMIT 250
;
END;
/
---INSERT INTO STAT_QUERIES---
INSERT INTO STAT_QUERIES
VALUES('CARD', 'Cards from Other Projects 2014', 'CARD_QUERY');