|
|
[ÀϹÝ] ÇÁ·Î½ÃÁ®¿¡¼ ¹è¿·Î º¯¼ö ó¸®Çϱâ |
|
È£¼® ´Ô²²¼ ¾´ ±ÛÀÔ´Ï´Ù - 121.¢½.39.7 |
ÀÐÀ½:3990 |
|
|
±»ÀÌ record·Î ¼±¾ðÇÑ typeÀ» ±×´ë·Î ¾²·Á¸é TABLE OF µÚ¿¡ ±× typeÀ» ÁÖ¸é µÇ°ÚÁö¸¸ º¸Åë ¾Æ·¡Ã³·³ Å×À̺íÀÇ rowtypeÀ» ±×´ë·Î »ç¿ëÇÕ´Ï´Ù.
´ÙÀ½Àº ¿À¶óŬŬ·´ÀÇ Q&A¸¦ ±×´ë·Î º¹»çÇß½À´Ï´Ù...Âü°íÇϼ¼¿ä...;
CREATE OR REPLACE PROCEDURE Table_Test
IS
i BINARY_INTEGER := 0;
--PL/SQL Table of RecordÀÇ ¼±¾ð
TYPE dept_table_type IS TABLE OF dept%ROWTYPE
INDEX BY BINARY_INTEGER;
dept_table dept_table_type;
BEGIN
FOR dept_list IN (SELECT * FROM dept) LOOP
i:= i+1;
-- µ¥ÀÌÅÍ º¸°ü
dept_table(i).deptno := dept_list.deptno ;
dept_table(i).dname := dept_list.dname ;
dept_table(i).loc := dept_list.loc ;
END LOOP;
FOR cnt IN 1..i LOOP
-- µ¥ÀÌÅÍ Ãâ·Â
DBMS_OUTPUT.PUT_LINE( 'ºÎ¼¹øÈ£ : ' || dept_table(cnt).deptno || 'ºÎ¼¸í : ' ||
dept_table(cnt).dname || 'À§Ä¡ : ' || dept_table(cnt).loc );
END LOOP;
END;
/
SQL>set serveroutput on;
SQL>exec Table_test;
ºÎ¼¹øÈ£ : 10ºÎ¼¸í : ACCOUNTINGÀ§Ä¡ : NEW_YORK
ºÎ¼¹øÈ£ : 20ºÎ¼¸í : RESEARCHÀ§Ä¡ : DALLAS
ºÎ¼¹øÈ£ : 30ºÎ¼¸í : Àλç°úÀ§Ä¡ : CHICAGO
ºÎ¼¹øÈ£ : 40ºÎ¼¸í : OPERATIONSÀ§Ä¡ : BOS%TON
PL/SQL 󸮰¡ Á¤»óÀûÀ¸·Î ¿Ï·áµÇ¾ú½À´Ï´Ù.
|
|
|
|
|
|