|
|
[ÀϹÝ] sqlplus¿¡¼ º¯¼ö »ç¿ëÇÏ´Â ¹æ¹ý |
|
È£¼® ´Ô²²¼ ¾´ ±ÛÀÔ´Ï´Ù - 121.¢½.39.7 |
ÀÐÀ½:6458 |
|
|
STEP.1 sqlplus¿¡¼ º¯¼ö »ç¿ëÇÏ´Â ¹æ¹ý
- º¯¼ö ¼±¾ð ¹× ÇÒ´ç
SQL> variable v1 number;
SQL> exec :v1 := 10;
- º¯¼ö »ç¿ë
SQL> select name from emp where empno = :v1;
STEP.2 procedure ½ÇÇà ¹æ¹ý - IN/OUTPUT parameter Á¸Àç½Ã
1. IN/OUTPUT parameter·Î »ç¿ëÇÒ º¯¼ö ¼±¾ð
SQL> variable v2 varchar2(50);
2. procedure ½ÇÇà
- employee_pkg.get_emp_name°¡ »ç¹øÀ» ¹Þ¾Æ ÇØ´ç »ç¿øÀÇ À̸§À» µ¹·ÁÁÖ´Â
procedure¸¦ ½ÇÇàÇÑ´Ù°í °¡Á¤
SQL> exec employee_pkg.get_emp_name('C01133', :v2);
3. È®ÀÎ
SQL> print v2;
4. ¿¬°áÇؼ º¸¸é...
SQL> variable v2 varchar2(50);
SQL> exec employee_pkg.get_emp_name('C01133', :v2);
SQL> print v2;
5. IN parameter ±îÁö º¯¼ö¸¦ »ç¿ë Çغ¸¸é...
SQL> variable v1 varchar2(50);
SQL> variable v2 varchar2(50);
SQL> exec :v1 := 'C01133';
SQL> exec employee_pkg.get_emp_name(:v1, :v2);
SQL> print v2;
STEP.3 procedure ½ÇÇà ¹æ¹ý - TYPEÀ¸·Î ¼±¾ðµÈ »ç¿ëÀÚ Á¤ÀÇÇü »ç¿ë½Ã
: »ç¿ëÀÚ Á¤ÀÇÇüÀ» ±×³É ´Ü¼øÇÏ°Ô sqlplus »ó¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´ÂÁö ¸ð¸£°ÚÁö¸¸
(³ ±×·± ¹æ¹ýÀ» ¸ð¸£°Ú´Âµ ´©±¸ ¾Æ´Â »ç¶÷ ¾ø¼ö???) ¸¸¾à »ç¿ëÀÚ Á¤ÀÇÇüÀ»
»ç¿ëÇØ¾ß ÇÒ °æ¿ì PL/SQLÀ» ÀÌ¿ëÇÏ¿© ½ÇÇàÇÒ ¼ö ÀÖ´Â ²Ä¼ö°¡ ÀÖ´Ù.
SQL> set serverout on
SQL> declare
SQL> TYPE vchar_tbtyp IS TABLE OF VARCHAR2(255) INDEX BY BINARY_INTEGER;
SQL> v1 vchar_tbtyp;
SQL> v2 vchar_tbtyp;
SQL> begin
SQL> v1(1) := 'C01133';
SQL> exec employee_pkg.get_emp_name(v1, v2);
SQL> DBMS_OUTPUT.PUT_LINE('EMP NAME : ' || v2(1));
SQL> end;
SQL> /
¸¸¾à À§ÀÇ vchar_tbtyp ÇüÀÌ À§ test_pkg¶õ package ³»¿¡ ÀÌ¹Ì ¼±¾ðµÇ¾î ÀÖ´Ù¸é
À§ÀÇ TYPE ... ¶óÀÎÀ» Áö¿ì°í ´ÙÀ½°ú °°ÀÌ º¯¼ö¸¦ ¼±¾ðÇصµ °¡´ÉÇÏ´Ù...
SQL> v1 test_pkg.vchar_tbtyp;
SQL> v2 test_pkg.vchar_tbtyp;
ÀüüÀûÀÎ °ÍÀº ´ÙÀ½°ú °°´Ù...
SQL> set serverout on
SQL> declare
SQL> v1 test_pkg.vchar_tbtyp;
SQL> v2 test_pkg.vchar_tbtyp;
SQL> begin
SQL> v1(1) := 'C01133';
SQL> exec employee_pkg.get_emp_name(v1, v2);
SQL> DBMS_OUTPUT.PUT_LINE('EMP NAME : ' || v2(1));
SQL> end;
SQL> /
|
|
|
|
|
|