Microsoft Word - 03_SQL_CURSOR.doc
|
|
- 진수 신
- 6 years ago
- Views:
Transcription
1 SQL Cursor SQL 커서소개오라클서버에서는 SQL 문을실행할때마다처리 (Parse, Execution) 를위한메모리공간, 즉 SQL 커서를사용하게된다. 이메모리공간은 Private SQL Area 라고도불리우며, 오라클의작업환경이 Dedicated Server 환경이냐또는 MTS(Multi- Threaded Server) 환경이냐에따라서버내에위치되는곳이다르다. PL/SQL 블록이실행될때에도내부에포함된 SQL 문장에대해 SQL 커서가자동적으로생성되며, 필요에따라서는 SQL 커서를사용자가선언하여사용할수도있다. SQL 커서의유형에는크게묵시적커서 (Implicit Cursor) 와명시적커서 (Explicit Cursor) 로나누어진다1. 묵시적커서는오라클이자동적으로선언하여사용한후자동적으로정리 (Clean-up) 해준다. 이에반하여명시적커서는사용자가정의한커서를선언하여사용하고, 커서의사용이끝난후에는별도의정리 (Clean-up) 작업을수행해줘야한다. SQL 커서를사용할때, 커서는임의의커서상수값을제공하는데, 이를 SQL 커서속성 (Cursor Attribute) 이라고한다. 이커서속성은커서의유형에따라조금씩다른의미를지니고있음에유의한다. 커서속성에대한자세한사항은뒷부분에서다루기로한다. 1 보통오라클에서는 묵시적 (Implicit) 이라는단어의의미는 자동적이다 라는의미를내포하고있으며, 이에반하여 명시적 (Explicit) 의의미는 수동적이다 라는의미를내포하고있다. 이두단어의의미는 SQL 커서에서도마찬가지로사용되고있다. Written by AngelaLEE 3-1
2 묵시적커서 (Implicit Cursor) 묵시적커서는오라클에서자동적으로선언해주는 SQL 커서로서, 사용자에게는투명하게제공된다. 기본적으로 PL/SQL 블록내에서의 SELECT 문, DML(INSERT, UPDATE, DELETE) 문이실행될때마다묵시적커서가선언된다. 여기에서주의해야할점은묵시적커서의경우세션내에단한개만이선언되어사용되었다가문장이종료됨과동시에정리된다는것이다. 그러므로동시에여러개의묵시적커서가사용되는것이아니라는점이다. 묵시적커서는 SQL 문의실행된결과를커서속성 (Cursor Attribute) 을통해제공하고있는데, 이는가장마지막에실행된 SQL 문의결과임에주의한다. 커서속성에는 4 가지가있는데, 묵시적커서임을나타내는 SQL% 을접두어 (Prefix) 로사용한다. >> 묵시적커서속성 (Cursor Attribute) 종류 SQL%ROWCOUNT SQL%FOUND SQL%NOTFOUND SQL%ISOPEN 설명 가장마지막에실행된 SQL 문장이처리한데이터행의총개수를가지는속성변수. 가장마지막에실행된 SQL 문장이처리한데이터행이있을경우에는 TRUE( 참 ) 진리값을, 처리한데이터행이없을경우에는 FALSE( 거짓 ) 진리값을가지는속성 Boolean 변수. 가장마지막에실행된 SQL 문장이처리한데이터행이없을경우에는 TRUE( 참 ) 진리값을, 처리한데이터행이있을경우에는 FALSE( 거짓 ) 진리값을가지는속성 Boolean 변수. 현재묵시적커서가메모리에확보되어있을경우에는 TRUE( 참 ) 진리값을, 그렇지않을경우에는 FALSE( 거짓 ) 진리값을가지는속성 Boolean 변수. ( 단, 묵시적커서는문장이실행종료됨과동시에정리 (Clean-up) 되므로이커서속성은항상 FALSE( 거짓 ) 진리값을가지게됨에주의한다.) Written by AngelaLEE 3-2
3 * 참고 : SELECT 문장의경우, 한건의데이터를검색할경우이외에는오라클예외사항 (EXCEPTION) 이발생한다. 그러므로, SELECT 문장에관련된묵시적커서의경우에도마찬가지로한건의데이터를처리하는경우에만정상적으로사용가능하다. 만약, 여러개의행이검색될경우에처리를정상적으로하고자한다면, 명시적커서 (Explicit Cursor) 를사용하면된다. > EX: VARIABLE del_cnt VARCHAR2(50) V_DNO DEPT.DEPTNO%TYPE := &p_dno ; DELETE EMP WHERE DEPTNO = V_DNO ; :del_cnt := SQL%ROWCOUNT 건삭제되었습니다. ; END; PRINT del_cnt Written by AngelaLEE 3-3
4 명시적커서 (Explicit Cursor) Introduction 명시적커서는필요에따라사용자가선언하여사용하는 SQL 커서공간으로, 기본적으로는여러개의행을처리하고할경우사용된다. 여러건을검색하는 SELECT 문장의경우오라클은예외사항 (TOO_MANY_ROWS) 을발생하게된다. 이때, 오라클은사용자가정의한명시적커서영역에 SELECT 문에의해검색된여러건의데이터를임시적으로저장하고, 한건씩처리할수있도록명시적커서기능을제공한다. 명시적커서는동시에여러개가선언되어사용될수있으며, 묵시적커서와마찬가지로커서속성변수를제공한다. 하지만, 의미는묵시적커서와약간씩다르다. 명시적커서는여러개가선언될수있으므로, 커서속성변수는 명시적커서명 (Cursor Name)% 을커서속성변수의접두어 (Prefix) 로붙여서사용한다. >> 명시적커서속성 (Cursor Attribute) 종류 %ROWCOUNT %FOUND %NOTFOUND %ISOPEN 설명 FETCH 문에의해읽혀진데이터의총건수를가지는속성변수. FETCH 문이수행되었을경우, 읽혀진 (Fetch) 행이있을경우에는 TRUE( 참 ) 진리값을, 그렇지않을경우에는 FALSE( 거짓 ) 진리값을가지는속성 Boolean FETCH 문이수행되었을경우, 읽혀진 (Fetch) 행이없을경우에는 TRUE( 참 ) 진리값을, 그렇지않을경우에는 FALSE( 거짓 ) 진리값을가지는속성 Boolean 명시적커서가메모리에확보 ( 선언 ) 되어있을경우에는 TRUE( 참 ) 진리값을, 그렇지않을경우에는 FALSE( 거짓 ) 진리값을가지는속성 Boolean 변수. Written by AngelaLEE 3-4
5 Explicit Cursor 처리단계 명시적커서를사용하기위해서는필수적으로수행해야할 4단계가있다. 1. 명시적커서선언 (Declaration) 2. 명시적커서열기 (Open) 3. 명시적커서로부터처리할데이터행을읽어오기 (Fetch) ( 명시적커서에처리하고자하는데이터행이있다면, 처리가완료될때까지계속읽는다.) 4. 명시적커서의데이터행에처리가완료되었다면, 정리 (Clean-up) 작업을하기위해명시적커서를닫는다.(Close) Written by AngelaLEE 3-5
6 명시적커서선언 (Declaration) 명시적커서는선언부 (declare) 에다른식별자와마찬가지로선언되며, 형식은아래와같다. 주의해야할점은명시적커서가선언부에기술되어도메모리공간이확보되는것이아니라단지정의만이루어진다는것이다. > SYNTAX: CURSOR cursor_name IS select-statement ; cursor_name select-statement 명시적커서의이름으로유일하게명명되어야한다. 기본적으로명시적커서는여러건을검색하는 SELECT 문을처리하기위한것이므로처리하고자하는데이터를검색하는 SELECT 문장을이부분에기술하면된다. 단, 주의해야할사항은정의를위한 SELECT 문이므로 PL/SQL 블록의 SELECT~INTO 절과는구분해야한다. 즉, 명시적커서를정의할때의 SELECT 문은 INTO 절을가지지않는다. > EX: CURSOR emp_cur IS SELECT EMPNO, ENAME, SAL FROM EMP WHERE DEPTNO = 20; CURSOR dept_emp IS SELECT D.DNAME, E.ENAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO AND E.ENAME LIKE %A% ; Written by AngelaLEE 3-6
7 명시적커서열기 (Open) 명시적커서가사용되기위해서는메모리공간이확보되어야하는데, 바로커서열기 (Open) 를통해이루어진다. 커서를열게되면, 선언부에서정의된커서의 SELECT 문이실행되면서해당데이터들 (Active Set) 이명시적커서영역에자리잡게된다. 즉 SELECT 문에의해메모리공간크기가결정되는것이다. 이때, 명시적커서영역에자리잡은데이터의첫번째행에커서포인터 (pointer) 가위치한다. 바로이포인터위치의데이터행을 FETCH 문이읽게된다. > SYNTAX: OPEN cursor_name ; cursor_name 열고자하는명시적커서의이름으로선언부에선언된커서명중에하나이어야한다. QUIZ: 명시적커서가열릴때, SELECT 문의결과행이한건도없었다면정상적으로명시적커서가열리는가? Written by AngelaLEE 3-7
8 > EX: END; CURSOR emp_cur IS SELECT EMPNO, ENAME, SAL FROM EMP WHERE DEPTNO = 20; CURSOR dept_emp IS SELECT D.DNAME, E.ENAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO AND E.ENAME LIKE %A% ; OPEN emp_cur ; OPEN dept_emp ; Written by AngelaLEE 3-8
9 명시적커서로부터데이터읽기 (Fetch) 명시적커서의데이터들 (Active Set) 로부터데이터를한건씩읽어오기위해서 FETCH 문을사용한다. 이때읽게되는데이터행은포인터 (Pointer) 에의해서지정된다. FETCH 가되면자동적으로포인터는다음행에위치하게된다. FETCH 후데이터가정상적으로검색되었는지를판단하기위해 %FOUND, %NOTFOUND 와같은커서속성변수를사용한다. 데이터들을읽어처리하기위해서 FETCH 문은반복문과함께사용한다. SELECT~INTO 절과마찬가지로 FETCH 문도 INTO 절을갖는다. > SYNTAX: FETCH cursor_name INTO variable ; cursor_name Variable 읽어 (Fetch) 오고자하는명시적커서의이름으로반드시 open 되어야한다. 명시적커서로부터읽어온 (Fetch) 데이터행 ( 레코드 ) 을 PL/SQL 블록내에서처리하기위해서는변수에저장해야한다. 이때 variable 에는단순변수또는복합변수가올수있으며, 기본적으로선언부에선언되어야만한다. 만약단순변수를사용한다면, 커서에서정의된 SELECT 리스트의개수만큼선언하고 SELECT 리스트의위치대로 FETCH 의 INTO 절에차례대로기술한다. 만약복합변수를사용한다면, 커서레코드변수 ( 커서명 %ROWTYPE) 를선언하여사용한다. Written by AngelaLEE 3-9
10 > EX: END ; CURSOR emp_cur IS SELECT EMPNO, ENAME, SAL FROM EMP WHERE DEPTNO = 20; CURSOR dept_emp IS SELECT D.DNAME, E.ENAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO AND E.ENAME LIKE %A% ; e_cur emp_cur%rowtype ; --커서레코드변수 v_dname dept.dname%type ; v_ename emp.ename%type ; FETCH emp_cur INTO e_cur ; FETCH dept_emp INTO v_dname, v_ename ; Written by AngelaLEE
11 명시적커서닫기 (Close) 명시적커서의정리 (Clean-up) 작업을하는명령으로, 명시적커서가다사용된후에는반드시 닫기 를강력히권고한다. 만약 PL/SQL 블록이명시적커서를닫지않고종료한다고해도치명적인오류는발생하지않는다. 하지만, 어느 PL/SQL 블록에서동일명의커서가 Open 될때, 오라클은예외 (EXCEPTION) 를발생한다. > SYNTAX: CLOSE cursor_name ; cursor_name 닫고자하는명시적커서의이름으로 Close 된명시적커서는더이상접근될수없다. 다시말해 PL/SQL 블록내에서 Close 된커서를접근하게되면오라클은예외 (INVALID_CURSOR) 를발생하게된다. Written by AngelaLEE
12 > EX: END; CURSOR emp_cur IS SELECT EMPNO, ENAME, SAL FROM EMP WHERE DEPTNO = 20; CURSOR dept_emp IS SELECT D.DNAME, E.ENAME FROM EMP E, DEPT D WHERE E.DEPTNO = D.DEPTNO AND E.ENAME LIKE %A% ; e_cur emp_cur%rowtype ; v_dname dept.dname%type ; v_ename emp.ename%type ; FETCH emp_cur INTO e_cur ; FETCH dept_emp INTO v_dname, v_ename ; CLOSE emp_cur ; CLOSE dept_emp ; Written by AngelaLEE
13 Cursor FOR Loop PL/SQL 블록은데이터트랜잭션을절차적으로처리하기위한효율적인방법을제공한다. 더불어여러건의데이터를처리하고자할때, 명시적커서는필수적인요소이다. 앞부분에설명한것과같이명시적커서를처리하기위해서는기본적으로 4단계를수행해야만가능하다. 이에오라클은명시적커서의좀더편리한사용을위해 FOR 반복문과커서를결합한 CURSOR FOR 루프를제공한다. 이는묵시적인커서변수의선언, 커서열기, 커서내의레코드를자동적으로읽기, 커서닫기를수행한다. 이는별도의변수선언, OPEN, FETCH, CLOSE 문을수행하지않아도됨을의미한다. FOR 문의반복횟수는명시적커서 (Active Set) 내의전체행수와동일하다. > SYNTAX: FOR record_name IN cursor_name LOOP -- 명시적커서의 OPEN, FETCH 가자동적으로수행됨. statement1 ; statement2 ; END LOOP ; -- 루프문을빠져나갈때자동적으로 CLOSE 됨. record_name 이는커서로부터 FETCH 된하나의레코드를저장하기위한커서레코드변수로, 묵시적인선언이이루어진다. 만약선언부에서선언된다면, cursor_name%rowtype 형으로선언되었을것이다. 커서변수는복합변수 record 처럼사용된다. 레코드를구성하는필드를접근할때는레코드변수명을접두어로사용한다. cursor_name 처리하고자하는명시적커서명으로, 선언부에서정의되어야한다. FOR 문이실행되면 IN 다음에기술 Written by AngelaLEE
14 된명시적커서가자동적으로열어지며, 한건씩 FETCH 가되며, 커서영역에데이터가모두처리되면루프를종료하게되는데이때자동적으로명시적커서는 CLOSE 된다. > EX: CURSOR emp_cur IS SELECT EMPNO, ENAME, SAL FROM EMP WHERE DEPTNO = 20; -- e_cur emp_cur%rowtype ; 선언될필요가없다. END; FOR e_cur IN emp_cur LOOP END LOOP ; IF e_cur.sal >= THEN QUIZ: 만약 FOR 루프안에서 COMMIT 문을수행하게된다면어떤결과가생기는가? Written by AngelaLEE
15 파라미터 Explicit Cursor 명시적커서를사용할때, 정적인데이터들 (Active Set) 을사용할수도있지만, 필요에따라서는동적인데이터들을처리해야할경우도있다. 이때사용되는것이파라미터를가진명시적커서이다. 파라미터를통해명시적커서가열려질때마다다른데이터들 (Active Set) 을처리하도록할수있다. 파라미터를가진명시적커서를오픈할때에는파라미터에값을전달해야한다. > SYNTAX: CURSOR cursor_name IS [ (parameter_name datatype, ) ] select-statement ; parameter_name 파라미터변수명으로변수선언과동일하다. 여러개의파라미터를지정할수있다. > EX: CURSOR emp_cur (p_dno emp.deptno%type)) IS SELECT EMPNO, ENAME, SAL FROM EMP WHERE DEPTNO = p_dno; OPEN emp_cur(20) ; CLOSE emp_cur ; OPEN emp_cur(30) ; CLOSE emp_cur ; END; Written by AngelaLEE
16 Explicit Cursor 와 FOR UPDATE 명시적커서영역에있는행들에대해잠금 (LOCK) 이필요한경우, 커서를정의할때 SELECT ~ FOR UPDATE; 를사용한다. 만약다른세션에서동일한행에대한잠금이설정된경우, 대기 (Waiting) 를방지하기위해커서정의시 NO WAIT 옵션을사용할수도있다. 만약 FOR UPDATE 절을사용하여명시적커서가선언되었다면, 그커서에 UPDATE 또는 DELETE 하고자한다면, 문장끝에 WHERE CURRENT OF 커서명을붙여서접근한다. > EX: END; CURSOR emp_cur IS SELECT EMPNO, ENAME, SAL FROM EMP WHERE DEPTNO = 20 FOR UPDATE NO WAIT ; OPEN emp_cur ; UPDATE emp SET sal = sal * 2 WHERE CURRENT OF emp_cur CLOSE emp_cur ; * 참고적으로커서를정의할때, 부질의 (Subquery) 를포함한 SELECT 문으로도가능하다. Written by AngelaLEE
17 실습 SQL CURSOR 1. 부서코드를입력받아해당부서에속한사원들을삭제한후삭제된사원건수를출력하는 PL/SQL 블록. SET ECHO OFF SET SERVEROUTPUT ON V_DNO NUMBER(7,2) := &p_dno ; DELETE EMP WHERE DEPTNO = V_DNO ; DBMS_OUTPUT.PUT_LINE ( 삭제된건수는 SQL%ROWCOUNT ) ; END ; / SET SERVEROUTPUT OFF SET ECHO ON QUIZ: 만약해당부서에속한사원이없었을경우위의 PL/SQL 블록은실패인가? 위의 PL/SQL 블록의출력조건을 - 해당부서에속한사원이없다면 소속사원이없습니다. 라는메시지를, - 그반대의경우라면삭제된건수를출력하도록변경한다면, 위의실행부는어떻게수정해야하는가? Written by AngelaLEE
18 2. 부서코드를입력받아그부서에속한사원들의이름, 급여, 직급을출력하는 PL/SQL 블록. SET ECHO OFF SET SERVEROUTPUT ON CURSOR emp_cur IS SELECT ENAME, SAL, JOB FROM EMP WHERE DEPTNO = &p_dno ; V_ENAME EMP.ENAME%TYPE ; V_SAL EMP.SAL%TYPE ; V_JOB EMP.JOB%TYPE ; OPEN emp_cur ; LOOP END LOOP ; FETCH emp_cur INTO V_ENAME, V_SAL, V_JOB ; EXIT WHEN emp_cur%notfound ; DBMS_OUTPUT.PUT_LINE((RPAD(V_ENAME,16) RPAD(V_SAL,10) V_JOB)) ; CLOSE emp_cur ; END ; / SET SERVEROUTPUT OFF SET ECHO ON Written by AngelaLEE
19 QUIZ: 위의 PL/SQL 블록에서명시적커서를처리할때, FETCH~INTO 절에단순변수가아닌복합변수 (record) 를사용한다면위의블록은어떻게수정해야하는가? ( 단, 레코드변수의이름은 emp_rec 으로한다.) Written by AngelaLEE
20 3. 2 번의 PL/SQL 블록의실행부를 WHILE 문을수정하여재작성하시오. SET ECHO OFF SET SERVEROUTPUT ON CURSOR emp_cur IS SELECT ENAME, SAL, JOB FROM EMP WHERE DEPTNO = &p_dno ; V_ENAME EMP.ENAME%TYPE ; V_SAL EMP.SAL%TYPE ; V_JOB EMP.JOB%TYPE ; OPEN emp_cur ; /* 변경할부분 */ CLOSE emp_cur ; END ; / SET SERVEROUTPUT OFF SET ECHO ON Written by AngelaLEE
21 QUIZ: 위의 PL/SQL 블록에서명시적커서를처리할때, FETCH~INTO 절에단순변수가아닌복합변수 (record) 를사용한다면위의블록은어떻게수정해야하는가? ( 단, 커서레코드변수의이름은 emp_rec 으로한다.) Written by AngelaLEE
22 4. 2번의 PL/SQL 블록을 CURSOR FOR 문으로수정하시오. ( 단, 커서레코드변수의이름은 EMP_REC 으로한다.) SET ECHO OFF SET SERVEROUTPUT ON CURSOR emp_cur IS SELECT ENAME, SAL, JOB FROM EMP WHERE DEPTNO = &p_dno ; END ; / SET SERVEROUTPUT OFF SET ECHO ON Written by AngelaLEE
23 QUIZ: FOR 루프밖에서커서속성 emp_cur%notfound 변수를사용할수있는가? Written by AngelaLEE
24 5. 제시된출력결과에맞도록아래의 PL/SQL 블록을완성하시오. ( 단, 명시적커서는아래에정의된 dept_cur 와 emp_cur 커서만을사용하며, BASIC LOOP 문을사용한다.) [ 출력결과 ] 부서코드 : 10 부서명 : XXXXXXXX ENAME SAL JOB XXXX $30,000 MANAGER XXXXX $2,500 SALES 부서코드 : 20 부서명 : XXXXXXXX ENAME SAL JOB XXX XXXXX Written by AngelaLEE
25 SET ECHO OFF SET SERVEROUTPUT ON CURSOR dept_cur IS SELECT DEPTNO, DNAME FROM DEPT ORDER BY 1 ; CURSOR emp_cur ( p_dno NUMBER) IS SELECT ENAME, SAL, JOB FROM EMP WHERE DEPTNO = p_dno ; Written by AngelaLEE
26 END ; / SET SERVEROUTPUT OFF SET ECHO ON Written by AngelaLEE
27 6. 5 번의 PL/SQL 블록을다중 CURSOR FOR 문으로수정하시오. SET ECHO OFF SET SERVEROUTPUT ON CURSOR dept_cur IS SELECT DEPTNO, DNAME FROM DEPT ORDER BY 1 ; CURSOR emp_cur ( p_dno NUMBER) IS SELECT ENAME, SAL, JOB FROM EMP WHERE DEPTNO = p_dno ; END ; / SET SERVEROUTPUT OFF SET ECHO ON Written by AngelaLEE
28 7. 사원의급여를히스토가로막대로표현하고자하는 PL/SQL 블록. ( 단, 급여를 100 단위로분리하여 100 문자로나타내기로하며, 결과를새로추가한 HISTO 컬럼에도저장한다.) SET ECHO OFF SET SERVEROUTPUT ON CURSOR emp_cur IS SELECT EMPNO, NVL(ROUND(SAL/100),0) CNT FROM EMP ; V_HISTO VARCHAR2(50) := NULL ; FOR emp_rec IN emp_cur LOOP FOR i IN 1.. emp_rec.cnt LOOP V_HISTO := ; END LOOP ; UPDATE EMP SET HISTO = V_HISTO WHERE EMPNO = emp_rec.empno ; V_HISTO := NULL ; END LOOP ; COMMIT ; END ; / SET SERVEROUTPUT OFF SET ECHO ON Written by AngelaLEE
29 HINT : HISTO 컬럼을추가하는명령 > ALTER TABLE EMP ADD (HISTO VARCHAR2(50)) ; SELECT 문을사용하여 HISTO 컬럼에데이터가저장되었는지확인해보자. Written by AngelaLEE
30 8. 7 번의 PL/SQL 블록이실행되는동안, 다른세션에서 EMP 테이블의데이터를변경할수없도록 PL/SQL 블록을수정해보시오. SET ECHO OFF SET SERVEROUTPUT ON CURSOR emp_cur IS SELECT EMPNO, NVL(ROUND(SAL/100),0) CNT FROM EMP ; V_HISTO VARCHAR2(50) := NULL ; FOR emp_rec IN emp_cur LOOP FOR i IN 1.. emp_rec.cnt LOOP V_HISTO := ; END LOOP ; UPDATE EMP SET HISTO = V_HISTO WHERE EMPNO = emp_rec.empno ; V_HISTO := NULL ; END LOOP ; COMMIT ; END ; / SET SERVEROUTPUT OFF SET ECHO ON Written by AngelaLEE
31 HINT : 명시적커서의 SELECT 문에잠금이되도록수정한다. 잠금이수행된명시적커서에접근할때에사용되는절을추가하여변경한다. Written by AngelaLEE
ESQL/C
20 장. PL/SQL 커서 주요내용 암시적커서 명시적커서선언 명시적커서열기및닫기 명시적커서에서데이터 Fetch 커서의속성 (%ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND) 커서 FOR 루프 PL/SQL 의커서 (Cursor) 커서 SQL 문과프로그램실행과정에서결과를저장할수있는오라클메모리구조 ( 개별 SQL 작업영역 ) 암시적커서 (Implicit
More informationMicrosoft Word - 04_EXCEPTION.doc
ORACLE EXCEPTION INTRODUCTION PLSQL 블록이 PARSE 되는동안에발생되는에러를컴파일에러 (Compilation Error) 라고부르며, PLSQL 블록이실행되는동안에발생되는에러를런타임에러 (Run-Time Error) 라고부르는데, 이런타임에러를오라클에서는예외 (Exception) 라고부른다. 오라클의예외 (Exception) 는크게두가지로구분된다.
More informationMicrosoft Word - PLSQL.doc
PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 SQL 문을사용할때에는컬럼명과같은변수명은피해야한다. - SQL에서와마찬가지로날짜와문자는홑따옴표 ( ) 를사용하여인용하여야한다.
More informationMicrosoft Word - 05_SUBPROGRAM.doc
ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부
More informationMicrosoft Word - 02_PLSQL_BLOCK_STRUCTURE.doc
PL/SQL BLOCK PL/SQL 블록 기본구조 PL/SQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부 (DECLARE), 실행부 (BEGIN), 예외처리부 (EXCEPTION) 로구성되어있다. PL/SQL 블록은그블록안에블록을포함할수있는데포함된블록을 Nested Block 이라한다. 블록의유형에는크게 Anonymous PL/SQL
More information13주-14주proc.PDF
12 : Pro*C/C++ 1 2 Embeded SQL 3 PRO *C 31 C/C++ PRO *C NOT! NOT AND && AND OR OR EQUAL == = SQL,,, Embeded SQL SQL 32 Pro*C C SQL Pro*C C, C Pro*C, C C 321, C char : char[n] : n int, short, long : float
More information(Microsoft Word - PLSQL\300\314\266\365.doc)
오라클 PL/SQL 제를다른홈페이지에기재할경우에는출처를꼭밝혀주세요. (http://www.oracleclub.com) 1 PL/SQL 의개요 1.1 PLSQL 이란? [ 2002/01/20 ] 1.2 PL/SQL Block 구조 [ 2002/05/09 ] 1.3 PL/SQL 블럭의유형 [ 2002/05/09 ] 2 프로시저 (PROCEDURE) 와함수 (FUNCTION)
More informationMicrosoft PowerPoint - PLSQL.ppt
SQL 의장점과단점 PL/SQL 오라클 DB 지역정보부서코드지역 1 서울 2 부산 < 장점 > (1) 사용자가이해하기쉬운단어로구성 (2) 쉽게배울수있다. (3) 복잡한로직을간단하게작성할수있다. (4) ANSI에의해문법이표준화되어있다. SQL < 단점 > Consultant 주종면 jina6678@yahoo.co.kr 1 (1) 반복처리를할수없다.(Loop)
More informationMicrosoft PowerPoint - PLSQL.ppt
PL/SQL Consultant 주종면 jina6678@yahoo.co.kr 1 - 목차 - 1장. PL/SQL 2장. 커서와에러처리 3장. 패키지와트리거 4장. PL/SQL의관리 2 1 PL-SQL 의개념 3 SQL 의장점과단점 < 장점 > 오라클 DB 지역정보부서코드지역명 1 서울 2 부산 SQL (1) 사용자가이해하기쉬운단어로구성 (2) 쉽게배울수있다.
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 4 장 JOIN 을배웁니다 1 2 1. Cartesian Product ( 카티션곱, CROSS Join) - Oracle Join 문법 SQL> SELECT e.ename, d.dname 2 FROM emp e, dept d ; - ANSI Join 문법 SQL> SELECT e.ename, d.dname
More informationJerry Held
,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan I/O Index Scan ROWID I/O Fast Full Index Scan scan scan scan I/O scan scan Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse
More information,, - - - : DELETE : ROW (ROWID) row ROWID : I/O Full Table Scan scan I/O scan Index Scan ROWID scan I/O Fast Full Index Scan scan scan I/O Unique, nonunique. (Concatenated Index) B* Tree Bitmap Reverse
More information歯sql_tuning2
SQL Tuning (2) SQL SQL SQL Tuning ROW(1) ROW(2) ROW(n) update ROW(2) at time 1 & Uncommitted update ROW(2) at time 2 SQLDBA> @ UTLLOCKT WAITING_SESSION TYPE MODE_REQUESTED MODE_HELD LOCK_ID1
More information10.ppt
: SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL
More information목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE
ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....
More information90
89 3 차원공간질의를위한효율적인위상학적데이터모델의검증 Validation of Efficient Topological Data Model for 3D Spatial Queries Seokho Lee Jiyeong Lee 요약 키워드 Abstract Keywords 90 91 92 93 94 95 96 -- 3D Brep adjacency_ordering DECLARE
More information@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a
1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL
More informationMicrosoft Word - SQL튜닝_실습교재_.doc
* 실습환경 * 1. 오라클데이터베이스의튜닝실습을하기위해서는기본적인테이블과데이터가필요합니다. 다음과같은절차에의해환경설정을하십시오. 1) 강사가제공하는 Export 된파일 (scott.dmp) 을자신의 ORACLE 경로에저장하십시오. [C: ] cd C: ORACLE ORA92 BIN [C: ] dir scott.dmp scott.dmp 2) SYSTEM 사용자로접속하여
More information학습목차 2.1 다차원배열이란 차원배열의주소와값의참조
- Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]
More information歯PLSQL10.PDF
10 - SQL*Pl u s Pl / SQL - SQL*P lus 10-1 1 0.1 PL/ SQL SQL*Pl u s. SQL*P lus 10-2 1 0.2 S QL* Pl u s PL/ S QL SQL*Pl u s, Pl / SQL. - PL/ SQL (i npu t ), (s t or e ), (r un). - PL/ SQL s cr i pt,,. -
More informationMicrosoft Word - 07_TRIGGER.doc
DATABASE TRIGGER INTRODUCTION 프로그램단위 1 의하나인트리거 2 (Trigger) 는테이블, 뷰, 스키마또는데이터베이스에관련된 PLSQL 블록 ( 또는프로시저 ) 으로관련된특정사건 (Event) 이발생될때마다묵시적 ( 자동 ) 으로실행이이루어진다 (Fire). 트리거를생성할때관련된사건 (Event) 도함께정의되며, 실행부에서저장된프로시저
More information목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4
ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]
More informationDBMS & SQL Server Installation Database Laboratory
DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.
More information단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT
Study Room Doc.03 : SQLD 예상문제 ( 단답형 ) 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 26,25,24,21 회기출문제를바탕으로작성 작성자 : 월야루 도움 : 빙수민외카페댓글 2017-11-30 단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL
More informationPowerPoint 프레젠테이션
Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.
More informationPowerPoint 프레젠테이션
System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소
More informationSpring Boot/JDBC JdbcTemplate/CRUD 예제
Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.
More informationSQL Tuning Business Development DB
SQL Tuning Business Development DB Oracle Optimizer 4.1 Optimizer SQL SQL.. SQL Optimizer :.. Rule-Based Optimization (RBO), Cost-Based Optimization (CBO) SQL Optimizer SQL Query Parser Dictionary Rule-Based
More information제4장 기본 의미구조 (Basic Semantics)
제 4 장블록및유효범위 Reading Chap. 5 숙대창병모 1 4.1 변수선언및유효범위 숙대창병모 2 변수선언과유효범위 변수선언 Declaration before Use! 대부분의언어에서변수는사용전에먼저선언해야한다. 변수의유효범위 (scope) 선언된변수가유효한 ( 사용될수있는 ) 프로그램내의범위 / 영역 변수이름뿐아니라함수등다른이름도생각해야한다. 정적유효범위
More informationInfinity(∞) Strategy
반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()
More informationBind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터
Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL
More informationI T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r
I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r -------------------------------------------------------------------- -- 1. : ts_cre_bonsa.sql -- 2. :
More informationChap 11. PL-SQL
데이터베이스개론과실습 원리를알면 IT 가맛있다 ERwin 과오라클 chapter 11. PL/SQL 한빛미디어 - 2 - PL/SQL(Oracle's Procedural Language extension to SQL) 정의 특짓 SQL 언어를사용한데이터조작과질의문등을블록구조안에젃차적단위의코드로포함하여젃차적프로그래밍을가능하게한강력한트랜잭션처리언어 SQL 문장에서변수정의,
More informationALTIBASE HDB Patch Notes
ALTIBASE HDB 6.5.1.5.6 Patch Notes 목차 BUG-45643 암호화컬럼의경우, 이중화환경에서 DDL 수행시 Replication HandShake 가실패하는문제가있어수정하였습니다... 4 BUG-45652 이중화에서 Active Server 와 Standby Server 의 List Partition 테이블의범위조건이다른경우에 Handshake
More informationMicrosoft PowerPoint - [2009] 02.pptx
원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include
More informationRDB개요.ppt
1 2 3 < > 1 SQL SQL 2 SQL 3 column DEPT DEPT# DNAME BUDGET D1 D2 D3 Marketing Development Research 10M 12M 5M tuple EMP EMP# ENAME DEPT# SALARY D1 40 D1 45 E1 E2 E3 Lopez Cheng Finzi D2 30 E4 Satio D2
More informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More informationTablespace On-Offline 테이블스페이스 온라인/오프라인
2018/11/10 12:06 1/2 Tablespace On-Offline 테이블스페이스온라인 / 오프라인 목차 Tablespace On-Offline 테이블스페이스온라인 / 오프라인... 1 일반테이블스페이스 (TABLESPACE)... 1 일반테이블스페이스생성하기... 1 테이블스페이스조회하기... 1 테이블스페이스에데이터파일 (DATA FILE) 추가
More information윈도우즈프로그래밍(1)
제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장
More informationCommit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따
Commit Wait Class 대기시간감소방안 엑셈컨설팅본부 /DB 컨설팅팀박준연 개요 Wait Class 중 Commit 카테고리에해당하는 Wait Event 에의한대기현상으로 DB 시스템의성능저하현상이발생하는것은종종경험할수있다. 그중대표적인 Wait Event 는 Log File Sync 이다. 실제로대부분의 DB 시스템의 Top 5 Wait Event
More informationPowerPoint Presentation
Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음
More informationMicrosoft PowerPoint Predicates and Quantifiers.ppt
이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 9 장인덱스를배웁니다 1 1. 인덱스란무엇인가? 2 - ROWID ( 주소 ) 조회하기 SCOTT>SELECT ROWID, empno, ename 2 FROM emp 3 WHERE empno=7902 ; ROWID EMPNO ENAME --------------------------------- ----------
More informationMicrosoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc
특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력
More informationFlashBackt.ppt
1. Flashback 목적 Flashback 이란? 사용자실수에의한손상된데이터를 Database 의크기와상관없이복구를할수있는기능이다. 이 Flashback 기능은일반적인복구에서우려되는데이터베이스의크기를걱정하지않아도된다. 보통의사용자실수는커다란시스템장애가수반되며, 이를복구하기위해서는많은자원과시간이필요하다. 하지만 9i 에서지원되느 flashback query
More information5장 SQL 언어 Part II
5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT
More informationConnection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET
135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26
More information슬라이드 제목 없음
4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여
More informationVisual Basic 반복문
학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For
More informationInsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins
Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.
More information객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES B WHERE 1=1 AND A.MANAGER_ID = B.EMPLOYEE_ID AND B.SALARY >= ANY A.SALARY;
Study Room Doc.02 : SQLD 예상문제 네이버 Cafe : 데이터베이스전문가포럼 Study Room http://cafe.naver.com/sqlpd SQLD 21 회기출문제를바탕으로작성 작성자 : 월야루 2016-09-04 객관식 1. 아래의쿼리를만족하는결과를가장잘설명한것은? SELECT A.* FROM HR.EMPLOYEES A, HR.EMPLOYEES
More information3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT
3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 6 장. DML 을배웁니다 1 - SQL 명령어들 DML (Data Manipulation Language) : INSERT( 입력 ), UPDATE( 변경 ), DELETE( 삭제 ), MERGE( 병합 ) DDL (Data Definition Language) : CREATE ( 생성 ), ALTER
More informationMicrosoft Word - FunctionCall
Function all Mechanism /* Simple Program */ #define get_int() IN KEYOARD #define put_int(val) LD A val \ OUT MONITOR int add_two(int a, int b) { int tmp; tmp = a+b; return tmp; } local auto variable stack
More informationLab 4. 실습문제 (Circular singly linked list)_해답.hwp
Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular
More information문서 템플릿
HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,
More informationePapyrus PDF Document
Goodus 기술노트 [38 회 ] Author 윤병길, 이은정 Creation Date 2009-02-27 Last Updated Version 1.0 Copyright(C) 2004 Goodus Inc. All Rights Reserved Version 변경일자변경자 ( 작성자 ) 주요내용 1 2009-02-27 윤병길, 이은정문서최초작성 Contents
More informationPowerPoint 프레젠테이션
MySQL - 명령어 1. 데이터베이스관련명령 2. 데이터베이스테이블관련명령 3. SQL 명령의일괄실행 4. 레코드관련명령 5. 데이터베이스백업및복원명령 1. 데이터베이스관련명령 데이터베이스접속명령 데이터베이스접속명령 mysql -u계정 -p비밀번호데이터베이스명 C: > mysql -ukdhong p1234 kdhong_db 데이터베이스생성명령 데이터베이스생성명령
More information쉽게 풀어쓴 C 프로그래밊
Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.
More information<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More informationMicrosoft PowerPoint - Oracle Data Access Pattern.ppt
Special Key Note Oracle Data Access Pattern ( 주 ) 오픈메이드컨설팅 오동규수석컨설턴트 1 What is Data Access Pattern? > 데이터를 I/O 하는방식 Index Scan Full Table Scan Rowid 2 Why is The Pattern Important? >SQL 의성능을좌지우지함. >SQL
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationMicrosoft PowerPoint - CSharp-10-예외처리
10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.
More informationMicrosoft PowerPoint - e pptx
Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells
More informationMicrosoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100
2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack
More informationMicrosoft PowerPoint - chap06-5 [호환 모드]
2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.
More informationWINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역
WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,
More informationSQL Tuning Business Development DB SQL - -SQL -SQL
0:00-0:50 SQL :00-2:00 2:00-3:30 3:30-4:20 SQL 4:30-5:20 5:30-7:20 SQL Tuning Business Development DB SQL - -SQL -SQL SQL () H/W( ) CPU, Memory, Network ( ) SQL I/O ( ) SQL (2) ( ) ( ) SQL SQL SQL SQL
More informationPowerPoint 프레젠테이션
@ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More information슬라이드 1
Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치
More informationuntitled
(shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,
More information<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>
SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......
More information(Microsoft PowerPoint - 5\300\345.\271\256 \303\263\270\256\(8\301\266\).ppt)
이펙티브오라클 제 5 장문처리 1. 수정 DML의시작과끝 2. DDL 처리 3. 바인드변수의사용 4. 가능한한적게파싱하기 5. 요약 강정식 ( xsofter@empal.com ) 이문서는 Oracle Club 데이터베이스스터디모임에서작성하였습니다. 1 1. 수정 DML의시작과끝 Page 369 ~ 371 1.1 수정 DML 문 (INSERT, DELETE,
More information´ÙÁß Row °á°ú¸¦ ´ÜÀÏÇàÀ¸·Î Äĸ¶·Î ºÐ¸®ÇØ Ãâ·ÂÇÏ´Â ¹æ¹ý
5 중 1 2007-06-12 오후 5:52 Home Login Register SQL Query SQL Tuning Oracle Administration Tools References Boards SoQooL? 쏘쿨 SoQooL) 이란? Q&A Tips Lectures Function Lectures Oracle Spatial Tips Scripts SQL
More information배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (
배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 이후배치프로그램 ) 에대한성능문제를파악하기위해수행되는모든 SQL 에대한개별수행내역을정확히판단할수있어야한다.
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More information예제소스는 에서다운로드하여사용하거나툴바의 [ 새쿼리 ]( 에아래의소스를입력한다. 입력후에는앞으로실습을위해서저장해둔다. -- 실습에필요한 Madang DB 와 COMPANY DB 를모두생성한다. -- 데이터베이스생성 US
A.4 마당서점데이터베이스생성 1 마당서점의데이터베이스 Madang을생성하기위해윈도우의 [ 시작 ]-[ 모든프로그램 ]- [Microsoft SQL Server 2012]-[SQL Server Management Studio] 를선택한다. 인증을 [Windows 인증 ] 으로선택한후 < 연결 > 을클릭한다. 2 1 3 서버이름 MADANG_DB\SQLEXPRESS
More informationMicrosoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt
변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short
More informationMicrosoft PowerPoint - chap02-C프로그램시작하기.pptx
#include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
More informationMicrosoft PowerPoint - 10Àå.ppt
10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어
More informationAPI 매뉴얼
PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned
More informationPowerPoint Template
SOFTWARE ENGINEERING Team Practice #3 (UTP) 201114188 김종연 201114191 정재욱 201114192 정재철 201114195 홍호탁 www.themegallery.com 1 / 19 Contents - Test items - Features to be tested - Features not to be tested
More informationMicrosoft PowerPoint Python-DB
순천향대학교컴퓨터공학과이상정 순천향대학교컴퓨터공학과 1 학습내용 데이터베이스 SQLite 데이터베이스 파이썬과데이터베이스연결 순천향대학교컴퓨터공학과 2 데이터베이스 (Database) 소개 데이터베이스 DBMS (DataBase Management System) 이라고도함 대용량의데이터를매우효율적으로처리하고저장하는기술 SQLite, 오라클, MySQL 등이있음
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 3 장 SQL 복수행함수 ( 그룹함수 ) 를배웁니다 1 함수이름 의 미 사용예 COUNT 입력되는데이터들의건수를출력 COUNT(sal) SUM 입력되는데이터들의합계값을출력 SUM(sal) AVG 입력되는데이터들의평균값을출력 AVG(sal) MAX 입력되는데이터들중최고값을출력 MAX(sal) MIN
More information<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 6 장선택과반복 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break문 continue문 지금까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 3 가지의제어구조 조건문 문장이실행되는순서에영향을주는문장 조건에따라서여러개의실행경로가운데하나를선택
More informationchap 5: Trees
5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경
More information다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양핚예제로쉽게배우는 오라클 SQL 과 PL/SQL 서진수저 10 장 view 를배웁니다 1 - View 란가상의테이블이다! 2 1. 단순 View (Simple View) SCOTT>CONN / AS SYSDBA; SYS>GRANT CREATE VIEW TO scott ; CREATE [OR REPLACE] [ FORCE NOFORCE] VIEW view
More information설계란 무엇인가?
금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 5 강. 배열, 포인터, 참조목차 배열 포인터 C++ 메모리구조 주소연산자 포인터 포인터연산 배열과포인터 메모리동적할당 문자열 참조 1 /20 5 강. 배열, 포인터, 참조배열 배열 같은타입의변수여러개를하나의변수명으로처리 int Ary[10]; 총 10 개의변수 : Ary[0]~Ary[9]
More informationMicrosoft PowerPoint 자바-기본문법(Ch2).pptx
자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March
More informationPowerPoint 프레젠테이션
U N I T 1 9 오라클호환성지원 DB2 9.7은오라클의데이터타입, SQL, PL/SQL, SQLPLUS등의애플리케이션을변경없이그대로전환가능한기능을제공하고있습니다. 349 DB2 9.7 운영자가이드 DB2 9.7 운영자가이드 Administrator Edition 아키텍처비교오라클에대한호환성지원 CLPPlus 유틸리티오라클데이터타입사용오라클함수사용오라클
More information[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2
5 장 SQL 응용 데이터베이스실험실 1 [ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL 5.2.1 T-SQL 문법 5.3 JAVA 프로그래밍 2 5.1 데이터베이스프로그래밍개념 프로그래밍 이라고하면프로그램소스를설계하고, 작성하고, 디버깅하는과정을말한다. 프로그램 혹은소프트웨어는컴퓨터에서주어진작업을하는명령어나열을말한다. 데이터베이스프로그래밍은명확한정의는없지만데이터베이스에데이터를정의하고,
More informationDB 성능고도화핵심원리 비투엔컨설팅 수석컨설턴트 조시형
DB 성능고도화핵심원리 비투엔컨설팅 수석컨설턴트 조시형 원리를알아야답이보인다!! SQL 개발자 (Developer) 데이터모델을통해업무를이해하고, SQL 을정확히구사하는능력 DB 성능고도화전문가양성 SQL 전문가 (Professional) 성능을고려한고급 SQL 작성능력 DB 성능고도화핵심원리실습문제 declare l_ 수납금액 number; begin for
More informationMicrosoft Word - PLC제어응용-2차시.doc
과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,
More informationMySQL-.. 1
MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition
More informationTina Admin
Lock session 확인 2010 년 01 월 27 일 DB 기술지원팀 문서정보 프로젝트명 Lock session 확인 서브시스템명 버전 1.0 문서명 작성일 2011-01-31 작성자 최종수정일 2011-01-31 문서번호 재개정이력 일자내용수정인버전 문서배포이력 발신자수신자배포목적일자비고 유니원아이앤씨 기술문서. Table of Contents 1 오라클의
More informationSQL PLAN MANAGEMENT 활용 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 오라클은비롯한많은관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 옵티마이저는유저가수행하는 SQL 을받아실행계획을생성하고, 실제 SQL 은이실행계획을
SQL PLAN MANAGEMENT 활용 엑셈컨설팅본부 /DB 컨설팅팀장정민 개요 오라클은비롯한많은관계형 DBMS 에서는사용자의 SQL 질의를효율적으로처리하기위해옵티마이저를사용하고있다. 옵티마이저는유저가수행하는 SQL 을받아실행계획을생성하고, 실제 SQL 은이실행계획을통해서수행된다. 데이터베이스운영시평소잘수행되던 SQL 이성능이슈를발생시키는때가있는데, 그원인이
More informationPowerPoint 프레젠테이션
KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된
More information