Sunteți pe pagina 1din 18

ORACLE

NESTED TABLES:
CREATING FRIEND TYPE:
CREATE OR REPLACE TYPE FRIEND_TY AS OBJECT (NAME VARCHAR2 (10), CITY VARCHAR2 (10), STATE VARCHAR2 (10), COUNTRY VARCHAR2 (10)); SQL> T!"# $%#&'#()

CONVERTING FRIEND_TY AS NESTED TABLE:


THE FRIEND_TY CONTAINS RECORD FOR EACH FRIEND) TO USE THIS DATA TYPE AS THE BASIS FOR A NESTED TABLE, YOU NEED TO CREATE NE* DATA TYPE) SQL> CREATE TYPE FRIEND_NT AS TABLE OF FRIEND_TY; 2 T!"# $%#&'#() AS TABLE OF CLAUSE OF THIS CRETE TYPE COMMAND TELLS ORACLE THAT YOU *ILL BE USIN+ THIS TYPE AS THE BASIS FOR A NESTED TABLE) THE FRIEND_NT STORES MULTIPLE RO*S)

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
CREATING TABLE USING NESTED TABLE:
SQL> CREATE TABLE FRIENDS_NESTED (NAME VARCHAR2(10), FRIENDS FRIEND_NT) NESTED TABLE FRIENDS STORE AS FRIEND_NT_TAB; T&,-# $%#&'#() FIRST COLUMN IS NAME,THE SECOND COLUMN IS A COLUMN NAMED FRIENDS *HOSE DEFINITION IS THE NESTED TABLE FRIEND_NT) *HEN CREATIN+ THE TABLE THAT INCLUDES A NESTED TABLE, YOU MUST SPECIFY THE NAME OF THE TABLE THAT *ILL BE USED TO STORE THE NESTED TABLE.S DATA)THAT IS ,THE DATA FOR THE NESTED TABLE IS NOT STORED /INLINE0 *ITH THE REST OF THE TABLE.S DATA)INSTEAD,IT IS STORED APART FROM THE MAIN TABLE)THE DATA IN THE FRIENDS COLUMN *ILL BE STORED IN ONE TABLE,AND THE DATA IN THE NAME COLUMN *ILL BE STORED IN A SEPARATE TABLE) ORACLE *ILL MAINTAIN POINTERS BET*EEN THE TABLES) HERE THE OUT_OF_LINE DATA FOR THE NESTED TABLE IS STORED IN A TABLE NAMED FRIEND_NT_TAB)

INSERTING INTO NESTED TABLE:


INSERT INTO FRIENDS_NESTED VALUES (1PAVAN1,FRIEND_NT (FRIEND_TY(1+AYATRI1,1HYD1,1AP1,1INDIA1), FRIEND_TY(1SRIDEVI1,1HYD1,1AP1,1INDIA1), FRIEND_TY(1PRATHIMA1,1HYD1,1AP1,1INDIA1))) SQL> 1 %23 $%#&'#() 1 INSERT INTO FRIENDS_NESTED 2 VALUES 4 (15UMAR1,FRIEND_NT 6 (FRIEND_TY(1+AYATRI1,1HYD1,1AP1,1INDIA1), 7 FRIEND_TY(1SRIDEVI1,1HYD1,1AP1,1INDIA1), 89 FRIEND_TY(1PRATHIMA1,1HYD1,1AP1,1INDIA1)))

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
: 1 %23 $%#&'#()

1 INSERT INTO FRIENDS_NESTED 2 VALUES 4 (1SRIRAM1,FRIEND_NT 6 (FRIEND_TY(1SHILPA1,1HYD1,1AP1,1INDIA1), 7 FRIEND_TY(1SRIDEVI1,1HYD1,1AP1,1INDIA1), 89 FRIEND_TY(1LALITHA1,1HYD1,1AP1,1INDIA1))) : 1 %23 $%#&'#() 1 INSERT INTO FRIENDS_NESTED 2 VALUES 4 (1RAVI5ANTH1,FRIEND_NT 6 (FRIEND_TY(1US+IRL1,1HYD1,1AP1,1INDIA1), 7 FRIEND_TY(1SRIDEVI1,1HYD1,1AP1,1INDIA1), 89 FRIEND_TY(1LALITHA1,1HYD1,1AP1,1INDIA1))) : 1 %23 $%#&'#()

DESCRIBING THE NESTED TABLE:


SQL> SET DESCRIBE DEPTH 2 SQL> DESC FRIENDS_NESTED N&;# N<--= T!"# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> NAME VARCHAR2(10) FRIENDS FRIEND_NT NAME VARCHAR2(10) CITY VARCHAR2(10) STATE VARCHAR2(10) COUNTRY VARCHAR2(10)

SELECTING FROM NESTED TABLE:

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
SQL> SELECT 9 FROM FRIENDS_NESTED;

NAME >>>>>>>>>> FRIENDS(NAME, CITY, STATE, COUNTRY) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>> PAVAN FRIEND_NT(FRIEND_TY(1+AYATRI1, 1HYD1, 1AP1, 1INDIA1), FRIEND_TY(1SRIDEVI1, 1HYD1, 1AP1, 1INDIA1), FRIEND_TY(1PRATHIMA1, 1HYD1, 1AP 1, 1INDIA1)) 5UMAR FRIEND_NT(FRIEND_TY(1+AYATRI1, 1HYD1, 1AP1, 1INDIA1), FRIEND_TY(1SRIDEVI1, 1HYD1, 1AP1, 1INDIA1), FRIEND_TY(1PRATHIMA1, 1HYD1, 1AP 1, 1INDIA1)) SRIRAM FRIEND_NT(FRIEND_TY(1SHILPA1, 1HYD1, 1AP1, 1INDIA1), FRIEND_TY(1SRIDEVI1, 1HYD1, 1AP1, 1INDIA1), FRIEND_TY(1LALITHA1, 1HYD1, 1AP1, 1INDIA1)) RAVI5ANTH FRIEND_NT(FRIEND_TY(1US+IRL1, 1HYD1, 1AP1, 1INDIA1), FRIEND_TY(1SRIDEVI1, 1HYD1, 1AP1, 1INDIA1), FRIEND_TY(1LALITHA1, 1HYD1, 1AP1, 1INDIA1))

SELECT NAME,N)NAME,N)CITY,N)STATE,N)COUNTRY FROM FRIENDS_NESTED, TABLE(FRIENDS_NESTED)FRIENDS) N SQL> SELECT NAME,N)NAME,N)CITY,N)STATE,N)COUNTRY FROM FRIENDS_NESTED, 9 ERROR &' -?@# 1A ORA>00B1CA $2-<;@ &;,?D<2<E-! (#F?@#(

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE

SELECT FRIENDS_NESTED)NAME, N)NAME, N)CITY, N)STATE, N)COUNTRY FROM FRIENDS_NESTED, TABLE (FRIENDS_NESTED)FRIENDS) N SQL> NAME NAME CITY STATE >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> PAVAN +AYATRI HYD AP PAVAN SRIDEVI HYD AP PAVAN PRATHIMA HYD AP 5UMAR +AYATRI HYD AP 5UMAR SRIDEVI HYD AP 5UMAR PRATHIMA HYD AP SRIRAM SHILPA HYD AP SRIRAM SRIDEVI HYD AP SRIRAM LALITHA HYD AP RAVI5ANTH US+IRL HYD AP RAVI5ANTH SRIDEVI HYD AP RAVI5ANTH LALITHA HYD AP 12 %23E E#-#$'#() COUNTRY INDIA INDIA INDIA INDIA INDIA INDIA INDIA INDIA INDIA INDIA INDIA INDIA

SELECT FRIENDS_NESTED)NAME,N)NAME,N)CITY,N)STATE,N)COUNTRY FROM FRIENDS_NESTED, TABLE(FRIENDS_NESTED)FRIENDS) N *HERE FRIENDS_NESTED)NAMEG1PAVAN1 NAME NAME CITY STATE COUNTRY >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> PAVAN +AYATRI HYD AP INDIA PAVAN SRIDEVI HYD AP INDIA PAVAN PRATHIMAHYD AP INDIA

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
SELECT FRIENDS_NESTED)NAME,N)NAME,N)CITY,N)STATE,N)COUNTRY FROM FRIENDS_NESTED, TABLE(FRIENDS_NESTED)FRIENDS) N *HERE N)NAMEG1SRIDEVI1 NAME NAME CITY STATE COUNTRY >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> PAVAN SRIDEVI HYD AP INDIA 5UMAR SRIDEVI HYD AP INDIA SRIRAM SRIDEVI HYD AP INDIA RAVI5ANTH SRIDEVI HYD AP INDIA

INSERTING ONLY TO NESTED TABLE FOR ONE RECORD:


INSERT INTO TABLE (SELECT FRIENDS FROM FRIENDS_NESTED *HERE NAMEG1PAVAN1) VALUES (FRIEND_TY(1NEELIMA1,1*ALES1,1CARDIF1,1LONDON1)); 1 %23 $%#&'#() SQL> SELECT FRIENDS_NESTED)NAME,N)NAME,N)CITY,N)STATE,N)COUNTRY FROM FRIENDS_NESTED, 2 TABLE(FRIENDS_NESTED)FRIENDS) N 4 *HERE FRIENDS_NESTED)NAMEG1PAVAN1; NAME NAME CITY STATE >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> PAVAN +AYATRI HYD AP COUNTRY INDIA

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
PAVAN PAVAN PAVAN SRIDEVI PRATHIMA NEELIMA HYD AP HYD AP *ALES CARDIF INDIA INDIA LONDON

UPDATING NESTED TABLE:


SQL> UPDATE TABLE (SELECT FRIENDS FROM FRIENDS_NESTED 2 *HERE NAMEG1PAVAN1) N 4 SET N)COUNTRYG1USA1 6 *HERE N)NAMEG1SRIDEVI1; 1 %23 <"(&'#() SQL> SELECT FRIENDS_NESTED)NAME,N)NAME,N)CITY,N)STATE,N)COUNTRY FROM FRIENDS_NESTED, 2 TABLE(FRIENDS_NESTED)FRIENDS) N 4 *HERE FRIENDS_NESTED)NAMEG1PAVAN1; NAME NAME CITY STATE COUNTRY >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> PAVAN +AYATRI HYD AP INDIA PAVAN SRIDEVI HYD AP USA PAVAN PRATHIMA HYD AP INDIA PAVAN NEELIMA *ALES CARDIF LONDON

DELETING FROM NESTED TABLE:

1 DELETE TABLE(SELECT FRIENDS FROM FRIENDS_NESTED 2 *HERE NAMEG1PAVAN1) N 49 *HERE N)NAMEG1PRATHIMA1 SQL> 1 %23 (#-#'#() SQL> SELECT FRIENDS_NESTED)NAME,N)NAME,N)CITY,N)STATE,N)COUNTRY FROM FRIENDS_NESTED, 2 TABLE(FRIENDS_NESTED)FRIENDS) N 4 *HERE FRIENDS_NESTED)NAMEG1PAVAN1; NAME NAME CITY STATE COUNTRY >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> PAVAN +AYATRI HYD AP INDIA PAVAN SRIDEVI HYD AP USA PAVAN NEELIMA *ALES CARDIF LONDON

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
CREATING NUMBER NESTED AND VARRAYS:
SQL> CREATE OR REPLACE TYPE NUMTAB AS TABLE OF NUMBER; 2 T!"# $%#&'#() SQL> CREATE OR REPLACE TYPE NUMVAR AS VARRAY (27) OF NUMBER; T!"# $%#&'#()

COUNT AND EXISTS:


COUNT +IVES NO OF ELEMENTS) SQL> DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(>:,16)4,4)1617,NULL,0); 4 V_COUNT NUMBER(2)AG1; 6 BE+IN 7 LOOP 8 IF V_NESTEDTABLE)EHISTS(V_COUNT) THEN : DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IIV_COUNTII1)A1 II C V_NESTEDTABLE(V_COUNT)); B V_COUNT AGV_COUNTJ1; 10 ELSE 11 EHIT; 12 END IF; 14 END LOOP; 16 END; 17 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#()

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
SQL> SET SERVEROUTPUT ON SQL> V_NESTEDTABLE(1)A>: V_NESTEDTABLE(2)A16)4 V_NESTEDTABLE(4)A4)1617 V_NESTEDTABLE(6)A V_NESTEDTABLE(7)A0 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#() 1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(1,2,4); 4 V_VARRY NUMVAR AG NUMVAR(>1,>2,>4,>6); 6 V_COUNT NUMBER(2)AG1; 7 BE+IN 8 DBMS_OUTPUT)PUT_LINE(1NESTED TABLE COUNT 1II : V_NESTEDTABLE)COUNT); C DBMS_OUTPUT)PUT_LINE(1VARRAY COUNT 1II B V_VARRY)COUNT); 109 END; 11 NESTED TABLE COUNT 4 VARRAY COUNT 6 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#()

LIMIT:
LIMIT *ILL +IVE NO OF ELEMENTS AT TIME OF DECLARATION) 1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(1,2,4); 4 V_VARRY NUMVAR AG NUMVAR(>1,>2,>4,>6); 6 V_COUNT NUMBER(2)AG1; 7 BE+IN 8 DBMS_OUTPUT)PUT_LINE(1NESTED TABLE COUNT 1II : V_NESTEDTABLE)COUNT); C DBMS_OUTPUT)PUT_LINE(1NESTED TABLE LIMIT 1II B V_NESTEDTABLE)LIMIT); 10 DBMS_OUTPUT)PUT_LINE(1VARRAY COUNT 1II 11 V_VARRY)COUNT); 12 DBMS_OUTPUT)PUT_LINE(1VARRAY LIMIT 1II 14 V_VARRY)LIMIT); 169 END; 17 NESTED TABLE COUNT 4

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
NESTED TABLE LIMIT VARRAY COUNT 6 VARRAY LIMIT 27 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#()

10

FIRST,LAST,NEXT,PRIOR:
DECLARE V_NESTEDTABLE NUMTAB AGNUMTAB(1,2,4); V_VARRY NUMVAR AG NUMVAR(>1,>2,>4,>6); V_COUNT NUMBER(2)AG1; BE+IN DBMS_OUTPUT)PUT_LINE(1NESTED TABLE FIRST 1II V_NESTEDTABLE)FIRST); DBMS_OUTPUT)PUT_LINE(1NESTED TABLE LAST 1II V_NESTEDTABLE)LAST); DBMS_OUTPUT)PUT_LINE(1NESTED TABLE PRIOR OF 2 1II V_NESTEDTABLE)PRIOR(2)); DBMS_OUTPUT)PUT_LINE(1NESTED TABLE NEHT OF 2 1II V_NESTEDTABLE)NEHT(2)); DBMS_OUTPUT)PUT_LINE(1VARRAY FIRST 1II V_VARRY)FIRST); DBMS_OUTPUT)PUT_LINE(1VARRAY LAST 1II V_VARRY)LAST); DBMS_OUTPUT)PUT_LINE(1VARRAY PRIOR OF 2 1II V_VARRY)PRIOR(2)); DBMS_OUTPUT)PUT_LINE(1VARRAY NEHT OF 2 1II V_VARRY)NEHT(2)); END; 24 NESTED TABLE FIRST 1 NESTED TABLE LAST 4 NESTED TABLE PRIOR OF 2 1 NESTED TABLE NEHT OF 2 4 VARRAY FIRST 1 VARRAY LAST 6 VARRAY PRIOR OF 2 1 VARRAY NEHT OF 2 4 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#()

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
EXTEND:
DECLARE V_NESTEDTABLE NUMTAB AGNUMTAB(1,2,4,6,7); V_VARRY NUMVAR AG NUMVAR(1,2,4,6,7); BE+IN BE+IN V_NESTEDTABLE(28)AG:; EHCEPTION *HEN SUBSCRIPT_BEYOND_COUNT THEN DBMS_OUTPUT)PUT_LINE(SQLCODEIISQLERRM); END; V_NESTEDTABLE)EHTEND(40); V_NESTEDTABLE(28)AG:; BE+IN V_VARRY)EHTEND(40); EHCEPTION *HEN SUBSCRIPT_OUTSIDE_LIMIT THEN DBMS_OUTPUT)PUT_LINE(SQLCODEIISQLERRM); END; V_VARRY)EHTEND(20); V_VARRY(27)AG27; END; SQL> >8744ORA>08744A S<,E$%?"' ,#!2@( $2<@' >8742ORA>08742A S<,E$%?"' 2<'E?(# 2F -?;?' PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#()

11

1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(1,2,4,6,7); 4 V_VARRY NUMVAR AG NUMVAR(1,2,4,6,7);

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
6 BE+IN 7 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 8 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II : V_NESTEDTABLE(C)); C END LOOP; B9 END; 10 V_NESTEDTABLE(1)1 V_NESTEDTABLE(2)2 V_NESTEDTABLE(4)4 V_NESTEDTABLE(6)6 V_NESTEDTABLE(7)7 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#() 1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70); 4 V_VARRY NUMVAR AG NUMVAR(1,2,4,6,7); 6 BE+IN 7 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 8 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II : V_NESTEDTABLE(C)); C END LOOP; B9 END; SQL> V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#()

12

TRIM:
TRIM *ILL REMOVE ELEMENTS FROM END)

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70); 4 V_VARRY NUMVAR AG NUMVAR(1,2,4,6,7); 6 BE+IN 7 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 8 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II : V_NESTEDTABLE(C)); C END LOOP; B DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER TRIM1); 10 V_NESTEDTABLE)TRIM; 11 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 12 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 14 V_NESTEDTABLE(C)); 16 END LOOP; 179 END; 18 V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 OUTPUT AFTER TRIM V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#() 1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70); 4 V_VARRY NUMVAR AG NUMVAR(1,2,4,6,7); 6 BE+IN 7 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 8 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II : V_NESTEDTABLE(C)); C END LOOP; B DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER TRIM)1); 10 V_NESTEDTABLE)TRIM; 11 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 12 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 14 V_NESTEDTABLE(C)); 16 END LOOP; 17 DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER TRIM(4)1); 18 V_NESTEDTABLE)TRIM(4); 1: FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 1C DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II

13

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
1B V_NESTEDTABLE(C)); 20 END LOOP; 219 END; SQL> V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 OUTPUT AFTER TRIM) V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 OUTPUT AFTER TRIM(4) V_NESTEDTABLE(1)10 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#()

14

DELETE:
DECLARE V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70); BE+IN FOR C IN 1))V_NESTEDTABLE)COUNT LOOP DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II V_NESTEDTABLE(C)); END LOOP; DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER DELETE)1); V_NESTEDTABLE)DELETE; FOR C IN 1))V_NESTEDTABLE)COUNT LOOP DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II V_NESTEDTABLE(C)); END LOOP; END; 17 V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 OUTPUT AFTER DELETE) PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#() 1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70);

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
4 BE+IN 6 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 7 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 8 V_NESTEDTABLE(C)); : END LOOP; C DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER DELETE(2))1); B V_NESTEDTABLE)DELETE(2); 10 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 11 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 12 V_NESTEDTABLE(C)); 14 END LOOP; 169 END; SQL> V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 OUTPUT AFTER DELETE(2)) V_NESTEDTABLE(1)10 DECLARE 9 ERROR &' -?@# 1A ORA>01604A @2 (&'& F2<@( ORA>08712A &' -?@# 11 1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70); 4 BE+IN 6 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 7 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 8 V_NESTEDTABLE(C)); : END LOOP; C DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER DELETE(2,6))1); B V_NESTEDTABLE)DELETE(2,6); 10 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 11 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 12 V_NESTEDTABLE(C)); 14 END LOOP; 169 END; 17 V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 OUTPUT AFTER DELETE(2,6))

15

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
V_NESTEDTABLE(1)10 DECLARE 9 ERROR &' -?@# 1A ORA>01604A @2 (&'& F2<@( ORA>08712A &' -?@# 11 1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70,80,:0,C0); 4 BE+IN 6 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 7 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 8 V_NESTEDTABLE(C)); : END LOOP; C DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER DELETE(2,6))1); B V_NESTEDTABLE)DELETE(2,6); 10 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 11 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 12 V_NESTEDTABLE(C)); 14 END LOOP; 16 EHCEPTION 17 *HEN NO_DATA_FOUND THEN 18 FOR C IN 7))V_NESTEDTABLE)COUNT LOOP 1: DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 1C V_NESTEDTABLE(C)); 1B END LOOP; 209 END; SQL> V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 V_NESTEDTABLE(8)80 V_NESTEDTABLE(:):0 V_NESTEDTABLE(C)C0 OUTPUT AFTER DELETE(2,6)) V_NESTEDTABLE(1)10 V_NESTEDTABLE(7)70 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#() 1 2 4 6 DECLARE V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70,80,:0,C0); BE+IN FOR C IN 1))V_NESTEDTABLE)COUNT LOOP

16

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
7 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 8 V_NESTEDTABLE(C)); : END LOOP; C DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER DELETE(2,6))1); B V_NESTEDTABLE)DELETE(2,6); 10 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 11 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 12 V_NESTEDTABLE(C)); 14 END LOOP; 16 EHCEPTION 17 *HEN NO_DATA_FOUND THEN 18 FOR C IN 7))V_NESTEDTABLE)COUNT LOOP 1: DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 1C V_NESTEDTABLE(C)); 1B END LOOP; 209 END; 21 V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 V_NESTEDTABLE(8)80 V_NESTEDTABLE(:):0 V_NESTEDTABLE(C)C0 OUTPUT AFTER DELETE(2,6)) V_NESTEDTABLE(1)10 V_NESTEDTABLE(7)70 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#() 1 DECLARE 2 V_NESTEDTABLE NUMTAB AGNUMTAB(10,20,40,60,70,80,:0,C0); 4 V_COUNT NUMBER AGV_NESTEDTABLE)COUNT; 6 BE+IN 7 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 8 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II : V_NESTEDTABLE(C)); C END LOOP; B DBMS_OUTPUT)PUT_LINE(1OUTPUT AFTER DELETE(2,6))1); 10 V_NESTEDTABLE)DELETE(2,6); 11 FOR C IN 1))V_NESTEDTABLE)COUNT LOOP 12 DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 14 V_NESTEDTABLE(C)); 16 END LOOP; 17 EHCEPTION 18 *HEN NO_DATA_FOUND THEN

17

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

ORACLE
1: FOR C IN 7))V_COUNT LOOP 1C DBMS_OUTPUT)PUT_LINE(1V_NESTEDTABLE(1IICII1)1II 1B V_NESTEDTABLE(C)); 20 END LOOP; 219 END; 22 V_NESTEDTABLE(1)10 V_NESTEDTABLE(2)20 V_NESTEDTABLE(4)40 V_NESTEDTABLE(6)60 V_NESTEDTABLE(7)70 V_NESTEDTABLE(8)80 V_NESTEDTABLE(:):0 V_NESTEDTABLE(C)C0 OUTPUT AFTER DELETE(2,6)) V_NESTEDTABLE(1)10 V_NESTEDTABLE(7)70 V_NESTEDTABLE(8)80 V_NESTEDTABLE(:):0 V_NESTEDTABLE(C)C0 PL SQL "%2$#(<%# E<$$#EEF<--! $2;"-#'#()

18

PROCEDURAL LANGUAGE AND STRUCTURED QUERY LANGUAGE

PL/SQL

S-ar putea să vă placă și