Microsoft Word - 02_PLSQL_BLOCK_STRUCTURE.doc

Size: px
Start display at page:

Download "Microsoft Word - 02_PLSQL_BLOCK_STRUCTURE.doc"

Transcription

1 PL/SQL BLOCK PL/SQL 블록 기본구조 PL/SQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부 (DECLARE), 실행부 (BEGIN), 예외처리부 (EXCEPTION) 로구성되어있다. PL/SQL 블록은그블록안에블록을포함할수있는데포함된블록을 Nested Block 이라한다. 블록의유형에는크게 Anonymous PL/SQL Block 과 Stored PL/SQL Block 이있다. Stored PL/SQL Block 은서브프로그램또는프로그램단위라고도하며, 스키마를구성하는오브젝트로서서버에저장되거나오라클툴안에라이브러리형태로저장된다. 이러한서브프로그램은복잡한처리를단순하게모듈화할수있는해결방안을제공한다. 이장에서는 Anonymous PL/SQL Block 을중심으로설명되며, Stored PL/SQL Block 은뒷장에서다루기로한다.. >> PL/SQL BLOCK 기본구성 DECLARE( 선언부, 생략가능 ) BEGIN( 실행부, 필수요소 ) EXCEPTION 1 ( 예외처리부, 생략가능 ) END ; ( 블록의끝을의미, 필수요소 ) 블록내의각부분에포함되는명령들은세미콜론 (;) 으로문장이끝난다. 블록이성공적으로처리가완료되면, 아래와같은메시지가출력될것이다. PL/SQL procedure successfully completed. ( 이결과메시지를여러분들은자주보기를바란다. ^.*) 1 예외 (EXCEPTION) 은 PL/SQL 에서발생되는에러 (ERROR) 를일컫는다. Written by AngelaLEE 2-1

2 PL/SQL 블록 기본규칙과지침사항 문장은여러줄에걸쳐질수있으나, 키워드는분리될수없다. 블록의내용을읽기쉽도록공백문자를사용하여키워드내지는문장을적절하게분리함으로써의미분석이되도록하며, 들여쓰기도권장한다. 예약어는식별자명으로사용될수없으나, Alias 로는사용될수있다. 즉이중부호 ( ) 를함께사용할수는있다. ( 예 : TABLE ) 식별자명은기본오라클 Naming Rule 을준수한다. 리터럴 ( 문자, 날짜 ) 은단일인용부호 ( ) 로둘러싼다. 널값은 NULL 상수로표현한다. NULL 에대한비교는 IS (NOT) NULL 연산자를사용해야한다. ( 참고적으로 ) 조건문이나예외처리의경우해당조건에대해아무런처리도하지않을경우 NULL ; 문장을사용하기도한다. 주석처리를하고자할경우에단일행은 - - ( 하이픈두개 ), 복수행은 /* 로시작하고 */ 로종료한다. PL/SQL 블록내의명령 ( 수식 ) 에서는오라클함수를사용할수있다. 단, 그룹함수와 DECODE 함수는 SQL 문장에포함되어야만사용될수있다. PL/SQL 에서는에러 (EXCEPTION) 처리와관련된함수에는 SQLCODE 함수와 SQLERRM 함수가있다 ( 뒷부분에서언급할것임.) 일반적으로변수의생명주기는블록내부의범위이다. 예를들어, 블록을포함하는블록의경우에바깥쪽블록에서선언된변수는포함된블록내부에서도참조될수있다. 그러나만약내부블록에바깥쪽블록에서선언된변수와동일명의변수가있었다면, 이때변수의참조는지역변수 (Local) 가우선한다. 만약블록레이블을사용했다면바깥쪽변수를동일명의변수가있는내부블록에서참조할수있다 ( 레이블을변수명앞에접두어로붙이면된다.). 물론내부블록의변수 ( 지역변수 ) 는바깥쪽블록에서참조할수없다. Written by AngelaLEE 2-2

3 << main >> DECLARE ANGEL CHAR; BEGIN DECLARE ANGEL CHAR; BEGIN main.angel := A ; END; END; PL/SQL 블록내에서사용되는연산자는 SQL 에서허용하는연산자와동일하며, 지수연산자로 ** 을추가로제공한다. ** 가가장높은우선순위를가지며, SQL 에서의우선순위와동일하게처리된다. Written by AngelaLEE 2-3

4 PL/SQL 블록 선언부 (DECLARE) 선언부 (DECLARE) 에는블록내에서사용되는변수, 상수, 사용자정의예외사항 (EXCEPTION) 그리고명시적커서 (Explicit Cursor) 를선언할수있다. 이부분에서는변수와상수를중심으로설명하기로하며, 예외와커서는뒷장에서본격적으로다루기로한다. 변수는데이터를임시적으로저장하기위해메모리에기억공간으로서선언되며, 변수에저장된값은블록내에서변경될수있다. 선언부에서변수를선언하면서초기값을부여할수도있으며, 읽기전용변수즉상수로서선언할수도있다. 또다른형태의변수라볼수있는파라미터 (parameter) 는서브프로그램과값을 ( 상호 ) 전달하는역할을담당한다. 파라미터는매개변수 (Argument) 라고도한다. PL/SQL 변수는기억장소로서메모리에확보되는데, 이변수의생명주기 (Life Cycle) 는블록시작에서부터블록종료이다. 즉블록의실행이종료가되면, 변수는메모리에서제거됨을의미한다. 만약블록이새롭게실행된다고해도이전의값을그대로사용할수는없다. 이를변수의 Scope Rule 이라고도한다. 만약전역변수 (Global Variable) 를선언하고자한다면패키지를작성한다. ( 패키지는뒷부분에서다루기로한다.) >> 변수의유형 PL/SQL 변수 Scalar ( 단일값 ) CHAR/VARCHAR2 LONG/LONG RAW NUMBER BINARY_INTEGER 1 PLS_INTEGER BOOLEAN DATE TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE INTERVAL YEAR TO MONTH INTERVAL DAY TO SECOND 1 BINARY_INTEGER(-2,147,483,647 ~ 2,147,483,647) 보다 PLS_INTEGER(-2,147,483,647 ~ 2,147,483,647) 가적은저장공간을요구하며, 속도도빠르다. BOOLEAN 은 TRUE, FALSE, NULL 값을가진다. Written by AngelaLEE 2-4

5 Composite( 레코드, 배열 ) Reference( 포인터 ) 기타변수 (non-pl/sql 변수 ) LOB(Large Objects) Bind Variable Host Variable 기타변수는 PL/SQL 블록이실행되는환경 ( 예를들면, Precompiler, isqlplus, ) 에서선언한변수로서실행환경과블록내부에서참조되어지기도한다. 예를들면, isql*plus 또는 SQL*Plus 에서선언되는치환변수나바인드변수는이환경에서실행되는 Anonymous PL/SQL 블록내에서도참조되어질수있으며바인드변수의경우에는블록이종료되어도값을유지하고있다. 치환변수는읽기전용의의미를가지고있으므로실행환경에서블록내부로의값을전달하는역할을한다. 참고적으로 Stored PL/SQL Block 경우에는파라미터또는매개변수를통해실행환경과블록간에값을주고받을수있고, 치환변수나바인드변수는 Stored PL/SQL Block 내에서직접참조될수없다. 단순변수의선언 > SYNTAX: Identifier [CONSTANT] datatype [NOT NULL] [:= DEFAULT expr]; Identifier CONSTANT Datatype 변수의이름으로식별자의역할을한다. 블록내에서는유일해야한다. 오라클 Naming Rule 에합당한이름을지정해야한다. 선언되는변수의유형을직관적으로이해할수있도록의미있는접두어나접미어를사용하도록권장한다. 읽기전용변수즉상수로선언하기위한키워드로기본적으로초기값이반드시지정되어야한다.( 생략가능 ) 오라클에서허용하는데이터타입은모두지원한다. 또한 %TYPE 을사용하여테이블내의컬럼과동일한데이터형을선언할수도있고, %ROWTYPE 을사용하여테이블의레코드구조와동일형태의레코드를선언할수 Written by AngelaLEE 2-5

6 도있다. NOT NULL 이변수는항상값을가지도록제약을주는키워드로초기값이반드시지정되어야한다.( 생략가능 ) := DEFAULT 변수에기본값을부여하기위한키워드이다. expr 변수에부여할기본값을의미하며단순한값에서부터다른변수, 수식, 함수가올수있다. > EX: V_EMPNO V_DATE V_NAME NUMBER(3); DATE DEFAULT SYSDATE;; VARCHAR2(14) NOT NULL := Angela Lee ; C_RATE CONSTANT NUMBER := 0.2; V_SAL V_REC EMP.SAL%TYPE; DEPT%ROWTYPE; ( 이때, V_REC 변수는복합구조를가지게되며 DEPT 테이블내의컬럼정의도그대로내포하고있으므로, 값을참조할때는 V_REC.DEPTNO 와같이 V_REC을접두어로붙여야한다.) V_SIGNAL BOOLEAN := FALSE; 복합변수의선언 > SYNTAX(PL/SQL RECORD): * PL/SQL Record 정의와선언 1 TYPE type_name IS RECORD ( field_declaration[, field_declaration] ) ; 2 Identifier type_name 1 정의부분 : Written by AngelaLEE 2-6

7 type_name 은 RECORD 유형의이름으로일반적인프로그래밍언어에서는구조체로통용되기도한다. 여러가지유형의변수가하나의레코드 ( 구조체 ) 단위로서처리되며, 레코드내의변수 ( 필드 ) 를참조할경우에는 type_name.field_name 을사용한다. ( 참고적으로테이블내의행구조와동일하게레코드변수를선언하고자할경우에는 %ROWTYPE 키워드를사용한다.) Field_declaration 은일반변수의선언과동일한문법형태를지닌다. 2 선언부분 : 기본적으로복합형의데이터는우선정의를하고해당정의를통해실제복합변수를선언하는단계로구성된다. 이선언부분에서는실제복합변수에대한기억공간이확보되는시점이다. ( 정의부분에서는메모리에공간이확보되지는않으며단지복합데이터형에대한기술이이루어지는부분이다.) > EX(PL/SQL RECORD): DECLARE... TYPE DEPT_REC_TYPE IS RECORD (DNO NUMBER(2), DNAME DEPT.DNAME%TYPE) ; DEPT_REC DEPT_REC_TYPE ;... EMP_REC EMP%ROWTYPE ; BEGIN... DBMS_OUTPUT.PUT_LINE(DEPT_REC.DNO) ; DBMS_OUTPUT.PUT_LINE(EMP_REC.EMPNO) ;... DEPT_REC DNO DNAME END; Written by AngelaLEE 2-7

8 > SYNTAX(PL/SQL TABLE): * PL/SQL Table 정의와선언 1 TYPE type_name IS TABLE OF {column_type variable%type table.column%type} [NOT NULL] table%rowtype [INDEX BY BINARY_INTEGER] ; 2 Identifier type_name 1 정의부분 : type_name 은 PL/SQL Table 유형의이름으로일반적인프로그래밍언어에서는배열로통용되기도한다. 동일한유형의데이터 ( 또는데이터구조 ) 들을하나의연속적인메모리공간에확보하기위한방법을제공한다. INDEX BY 절은그배열내의요소 (element) 에접근하기위한첨자 ( 위치 ) 값으로사용되며, 범위는 BINARY_INTEGER 의범위에속한다. 2 선언부분 : 기본적으로복합형의데이터는우선정의를하고해당정의를통해실제복합변수를선언하는단계로구성된다. 이선언부분에서는실제복합변수에대한기억공간이확보되는시점이다. ( 정의부분에서는메모리에공간이확보되지는않으며단지복합데이터형에대한기술이이루어지는부분이다.) Written by AngelaLEE 2-8

9 > EX(PL/SQL TABLE): DECLARE... TYPE SAL_TAB_TYPE IS TABLE OF EMP.SAL%TYPE INDEX BY BINARY_INTEGER ; TYPE STARTDATE_TAB_TYPE IS TABLE OF DATE INDEX BY BINARY_INTEGER ; SAL_TAB SAL_TAB_TYPE ; SAL_TAB S_DATE STARTDATE_TAB_TYPE ; (1) (2)... BEGIN... SAL_TAB(1) := 3500 ; S_DATE(1) := SYSDATE ;... IF SAL_TAB(1).EXISTS(1) THEN END IF ;... END; Written by AngelaLEE 2-9

10 * 오라클에서는 PL/SQL TABLE 의조작을위한 Built-ins(Method) 를제공하고있다. 이때의프로시저나함수는 PL/SQL TABLE명과함께사용된다. Built-in(Method) EXISTS(n) COUNT FIRST, LAST PRIOR(n) NEXT(n) TRIM DELETE Description N 번째요소의값이존재하면 TRUE 현재존재 ( 사용 ) 하는요소들의개수 현재사용되는첨자의첫번째, 마지막값을리턴. 배열요소의위치를조정하는함수로 n 개이전의인덱스첨자값리턴 배열요소의위치를조정하는함수로 n 개다음의인덱스첨자값리턴 PL/SQL TABLE 의마지막요소를제거 (TRIM(n) 은마지막으로부터 n 개제거 ) PL/SQL TABLE 의모든요소를제거 (DELETE(n) 은 n 번째요소제거, DELETE(m,n) 은 m 에서 n 번째의요소들을제거 ) * 바인드변수 (Bind Variable) 는 isql*plus( 또는 SQL*Plus) 의 variable 명령을사용하여선언한다. 실행환경이나블록내에서참조할때는접두문자콜론 (:) 을변수명앞에붙여야한다. 바인드변수의값을출력할때는 print 명령을사용한다. 이때변수명앞에접두문자를붙이지않는다. ( 참고적으로치환변수는앰퍼샌드 (&) 를접두문자로붙인다.) * PL/SQL 블록을실행할경우, 블록내의값을화면에출력하고싶을때오라클에서제공하는 DBMS_OUTPUT 패키지내의 PUT_LINE 프로시저를사용한다. 이프로시저가정상적으로결과를화면출력하도록하기위해서는 isql*plus( 또는 SQL*Plus) 에서아래의명령을먼저실행해야한다. SET SERVEROUTPUT ON 또는 EXECUTE DBMS_OUTPUT.ENABLE Written by AngelaLEE

11 PL/SQL 블록 실행부 (BEGIN~END) 실행부 (BEGIN) 는실제처리하고자하는명령들이절차적으로기술되는부분으로, 기존의 SQL 문과프로그래밍언어특징인제어문 ( 조건문, 반복문 ) 을사용하여완벽한트랜잭션처리를수행할수있도록한다. SQL 문장 SELECT 문 : PL/SQL 블록에서의 SELECT문은데이터베이스의테이블로부터한레코드 ( 건 ) 씩읽어오는 Read 문으로사용된다. 만약두건이상의레코드가검색 (Read) 되거나한건도읽지못하게되면예외 (exception: TOO_MANY_ROWS, NO_DATA_FOUND) 가발생된다. 이렇게발생한예외에대해서는예외처리부 (EXCEPTION) 에서처리할수있다. 검색된여러건을처리하고자할경우에는뒷부분에서다루게될명시적커서 (Explicit Cursor) 를사용하면된다. SELECT 문은데이터베이스로부터읽어온데이터 ( 값 ) 를블록내의변수에저장해야하는데, 이때 SELECT절은 INTO절을가지게된다. INTO절에오는변수는기본적으로선언부 (DECLARE) 에서선언되어있어야하며, SELECT 리스트의수와데이터타입이같아야한다. ( 예 ) DECLARE V_NAME EMP.ENAME%TYPE; V_SAL EMP.SAL%TYPE; V_DATE DATE; BEGIN SELECT ENAME, SAL, HIREDATE INTO V_NAME, V_SAL, V_DATE FROM EMP WHERE EMPNO = 7788; END; DML 문 : 데이터베이스의데이터를조작하는 DML문에는 INSERT, UPDATE, DELETE, MERGE 등이있다. 이 DML문은 PL/SQL블록내에서는어 Written by AngelaLEE

12 떤제약도없이사용할수있다. 즉원래그대로사용이가능하다는것이다. 단, 데이터제약조건을위배하는 DML문은해당 EXCEPTION을발생하게된다. 이예외에대한처리는예외처리부 (EXCEPTION절) 에서할수있다. TCL 문 : 트랜잭션을처리하는 COMMIT, ROLLBACK(SAVEPOINT) 명령모두는 PL/SQL블록내에서 ( 그대로 ) 사용될수있다. DDL 문 : DDL문은데이터베이스딕셔너리 (Data Dictionary) 를변경하는매우민감한명령이므로, PL/SQL블록내에서직접사용될수없다. 단, 오라클에서제공하는 Built-ins 중에 Dynamic SQL문을처리하는 DBMS_SQL 패키지또는 DBMS_DDL 패키지가있는데, 이를사용하면간접적으로 PL/SQL블록에서처리할수있다. DCL 문 : 데이터베이스에대한접근 ( 보안 ) 과관련된 DCL문은 PL/SQL블록에서간접적으로사용될수있기는하나거의사용될경우는없다. Written by AngelaLEE

13 제어문장 ( Control Structures) 오라클 PL/SQL에서는일반프로그래밍언어가가지는기본적인제어문을제공하며이제어문들은제어문들을포함할수있다.(Nested) 오라클이제공하는제어문의종류는아래와같다. 제어문 조건문 IF 문 CASE 문 반복문 BASIC LOOP 문 WHILE 문 FOR 문 Written by AngelaLEE

14 조건문 (IF 문 ) : 조건에따라처리를하고자할경우이조건문을사용한다. 오라클에서는일반프로그래밍언어와같이 IF 문을제공한다. IF문안에 IF 문을가질수있다.(Nested IF문 ) > SYNTAX: IF condition1 THEN Statements1; [ELSIF condition2 then statements2 ; ] [ELSE statements3 ; ] END IF ; * condition1 조건을판단하는수식으로 Boolean값 (true, false, null) 을리턴한다. 이조건이만족하면 (true) THEN절의 statements1부분을수행한후 if문을종료한다 (end if문수행 ). 만약조건을만족하지않게되면 (false,null) 기본적으로 if문을종료한다 ( 즉, end if; 문수행 ). 그러나 ELSIF 또는 ELSE 문이있다면해당부분의명령을수행한다. * statement n 이부분은하나이상의 SQL 또는 PL/SQL문장이있는곳으로해당조건이만족하게될경우선택적으로수행된다. 이부분에 IF문을중첩해서사용할수도있다. * ELSIF condition1의조건이만족하지않을경우 (false,null) 에다른조건처리를위한절로서 condition2의조건을만족한다면 statements2 부분을수행한후 if 문을종료한다. ( 필요하다면 ) 이부분은여러개의상호배타적인 (Mutual Exclusive) 조건처 Written by AngelaLEE

15 리를위해한 if문장내에서여러번사용될수있다. ( 참고적으로 ELSIF의철자에주의하도록하자.) * ELSE IF문이하모든조건들에만족되지않는경우에수행되는부분으로, IF문에단한번마지막에올수있다. * END IF ; IF문의끝을알리는절로 END와 IF 사이에는하나이상의공백을두어야한다. Written by AngelaLEE

16 > EX: IF V_SAL >= 3000 THEN V_TAX_RATE : = 0.5 ; ELSIF V_SAL >= 2000 THEN V_TAX_RATE := 0.3 ; ELSIF V_SAL >= 1000 THEN V_TAX_RATE := 0.1 ; ELSE END IF; V_TAX_RATE := 0.05 ; < 참고 : IF_THEH_ELSE 문의흐름 > TRUE Condition 1 FALSE,NULL TRUE Condition 2 FALSE,NULL Statement 1 Statement 2 Statement 3 Written by AngelaLEE

17 조건문 (CASE 문 ) : 조건처리를위한다른방법을제공하는제어문이다. 오라클의 CASE 함수와비슷한로직으로처리된다. > SYNTAX: CASE selector WHEN expression1 WHEN expression2 WHEN expression N [ELSE resultn + 1 ; ] END ; THEN result1 THEN result2 THEN resultn > EX: SET SERVEROUTPUT ON DECLARE V_CHAR CHAR := UPPER( &p_char) ; V_MSG VARCHAR2(26) ; BEGIN END ; / V_MSG := CASE V_CHAR WHEN A THEN Excellent WHEN B THEN Very Good WHEN C THEN Good ELSE Poor END ; DBMS_OUTPUT.PUT_LINE(V_MSG) ; Written by AngelaLEE

18 반복문 (BASIC LOOP 문 ) : PL/SQL블록내에서반복처리해야명령이있는경우에사용되는문으로, 일반프로그램언어의 DO~WHILE문과일맥상통하는문이다. 반복문안에있는문장 ( 들 ) 을한번이상은수행하도록하는명령으로반복허용조건이만족하는동안반복수행되도록할수있다. > SYNTAX: LOOP Statement1 ; END LOOP ; EXIT [ WHEN condition ] ; * EXIT 기본루프 (BASIC LOOP) 를빠져나오는문으로 END LOOP ; 다음문장으로제어가넘어간다. WHEN 절이생략되면무조건루프를빠져나간다. * WHEN 기본루프 (BASIC LOOP) 종료하기위한조건을지정하는문으로해당조건을만족하면루프를빠져나간다. 만약조건을만족하지않는다면 LOOP ~ END LOOP; 사이의문장을반복하게된다. Written by AngelaLEE

19 > EX: SET SERVEROUTPUT ON DECLARE V_START NUMBER := &p_start ; V_END NUMBER := &p_end ; V_NUM NUMBER ; V_SUM NUMBER := 0 ; -- Recommanded BEGIN END ; / V_NUM := V_START ; LOOP V_SUM := V_SUM + V_NUM ; V_NUM := V_NUM + 1 ; EXIT WHEN V_NUM > V_END ; END LOOP ; DBMS_OUTPUT.PUT_LINE(V_SUM) ; QUIZ: 위의블록에서 p_start, p_end 에각각 1,10 이입력되었다면화면의결과는? 만약, p_start, p_end 에각각 10,5 가입력되었다면결과는? Written by AngelaLEE

20 반복문 (WHILE 문 ) : WHILE 문은 PL/SQL 블록내에서반복처리를수행하는문장으로, 조건이만족하는동안에는루프안의명령들을반복적으로수행하고, 조건이만족하지않을경우해당반복루프를종료한다. 이 WHILE문의경우조건이처음부터만족되지않으면, BASIC LOOP문과는다르게루프안의명령 ( 들 ) 이한번도수행되지못할수도있다. > SYNTAX: WHILE condition LOOP END LOOP ; Statement1 ; Statement2 ; * condition 반복문을종료하기위한조건절로조건이만족되는동안 (true) 에루프안의문장들을반복수행하고, 조건이불만족되면 (false, null) 루프는종료된다. ( 제어는 end loop; 문다음으로넘어간다.) Written by AngelaLEE

21 > EX: SET SERVEROUTPUT ON DECLARE V_START NUMBER := &p_start ; V_END NUMBER := &p_end ; V_NUM NUMBER ; V_SUM NUMBER := 0 ; BEGIN END ; / V_NUM := V_START ; WHILE V_NUM <= V_END LOOP V_SUM := V_SUM + V_NUM ; V_NUM := V_NUM + 1 ; END LOOP ; DBMS_OUTPUT.PUT_LINE(V_SUM) ; QUIZ: 위의블록에서 p_start, p_end 에각각 15,20 이입력되었다면화면의결과는? 만약, p_start, p_end 에각각 100,50 이입력되었다면결과는? Written by AngelaLEE

22 반복문 (FOR 문 ) : FOR문은일정한반복회수로처리하고자할경우유용한반복문이다. FOR문의반복을제어하는변수는선언부 (DECLARE) 에서선언하지않아도무방하다. 왜냐하면오라클은제어변수에대해서는묵시적으로정수형 (INTEGER) 선언을해준다. > SYNTAX: FOR counter IN [REVERSE] start.. end LOOP END LOOP ; Statement1 ; Statement2 ; * counter 반복문을제어하는정수형변수로서묵시적선언이이루어진다. Start 값에서부터 end 값까지의제어범위를가진다. 기본적인증감값은 1 이다. 이변수의생명주기는반복문 (for) 안에서만유효하며, 반복문안에서변경될수없다. * REVERSE 이는제어변수 (counter) 의값이감소하도록하는키워드이다. 주의해야할것은 REVERSE 를사용해도항상 start <= end 이어야한다는것이다. REVERSE를사용하면 end 값에서 1 씩감소하여 start값까지수행된다. Written by AngelaLEE

23 > EX: SET SERVEROUTPUT ON DECLARE V_START NUMBER := &p_start ; V_END NUMBER := &p_end ; -- V_NUM NUMBER ; // 선언하지않음. V_SUM NUMBER := 0 ; BEGIN END ; / FOR V_NUM IN V_START.. V_END LOOP V_SUM := V_SUM + V_NUM ; END LOOP ; DBMS_OUTPUT.PUT_LINE(V_SUM) ; Written by AngelaLEE

24 실습 PL/SQL BLOCK 0. 사전준비사항 아래의실습예제들은각각스크립트파일에저장한다. ( 예를들면, 1 장의 3 번예제라면, p01_03.sql 로저장한다.) 저장된스크립트화일을실행하기위해서는 start 을사용한다. 만약 compile(parse) 후에러가있었다면, show errors 명령으로확인하여적절한조치를취하도록한다. 해당에러부분을수정한후에는다시스크립트를실행하여결과를확인한다. 1. 두개의수를입력받아합을출력하는 PL/SQL 블록 SET ECHO OFF SET VERIFY OFF SET SERVEROUTPUT ON DECLARE V_SU1 NUMBER(7,2) := &p_su1 ; V_SU2 NUMBER(7,2) := &p_su2 ; V_SUM NUMBER(8,2) := 0 ; BEGIN V_SUM := V_SU1 + V_SU2 ; DBMS_OUTPUT.PUT_LINE( 첫번째수 V_SU1 와두번째수 V_SU2 END ; / SET SERVEROUTPUT OFF SET VERIFY OFF SET ECHO ON QUIZ: 의합은 V_SUM ) ; 치환변수 p_su1 과 p_su2 에각각 10.2 와 이입력된다면출력결과는? Written by AngelaLEE

25 2. 사번을입력받아사원 (EMP) 테이블에서사원의이름과급여를검색하여출력하는 PL/SQL 블록. SET ECHO OFF SET VERIFY OFF SET SERVEROUTPUT ON DECLARE V_NAME EMP.ENAME%TYPE ; V_SAL EMP.SAL%TYPE ; BEGIN SELECT ENAME, SAL INTO V_NAEM, V_SAL FROM EMP WHERE EMPNO = &&p_empno ; DBMS_OUTPUT.PUT_LINE( 사번 &p_empno 의이름은 V_NAME, 급여는 V_SAL ) ; END ; / SET SERVEROUTPUT OFF SET VERIFY OFF SET ECHO ON QUIZ: 치환변수 p_empno( 사번 ) 에 7654 가입력되었다면출력결과는? 위의 PL/SQL 블록을 VARIABLE 명렴과 PRINT 명령으로재작성하시오. Written by AngelaLEE

26 3. 부서테이블 (DEPT) 에새로운행을삽입하는 PL/SQL 블록으로부서명은치환변수로입력받고부서코드는기존의부서코드중가장큰부서코드보다 10 크게부여한다. SET ECHO OFF SET VERIFY OFF DECLARE V_DNAME DEPT.DNAME%TYPE := &p_dname ; V_MAX_DNO DEPT.DEPTNO%TYPE ; BEGIN SELECT NVL(MAX(DEPTNO),0) + 10 INTO FROM DEPT ; V_MAX_DNO INSERT INTO DEPT(DEPTNO, DNAME) COMMIT ; END ; VALUES( V_MAX_DNO, V_DNAME) ; / SET SERVEROUTPUT OFF SET VERIFY OFF SET ECHO ON QUIZ: 실행부 SELECT 리스트에서 NVL 함수의역할은? DEPT 테이블을확인하시오. 몇번의부서코드가삽입되었나요? Written by AngelaLEE

27 4. SAMPLE 테이블에아래와같은 PL/SQL 블록을실행하면어떤결과가생길까요? BEGIN FOR i IN LOOP IF i = 6 OR i = 8 THEN NULL ; ELSE INSERT INTO SAMPLE(NO) VALUES ( i ); END IF ; COMMIT ; END LOOP ; END ; / * 참고적으로 SAMPLE 테이블을생성하는명령은아래와같다. CREATE TABLE SAMPLE ( NO NUMBER(2)) ; QUIZ: SAMPLE 테이블에는몇건의데이터가저장되었나요? IF 문의 NULL; 문장의의미는? Written by AngelaLEE

28 5. 사번을입력받아사원 (EMP) 테이블에서그해당사원의이름과급여와세금을출력하는 PL/SQL 블록. ( 단, 세금은급여액수에따라차등부여된다고가정한다.) SET ECHO OFF SET VERIFY OFF SET SERVEROUTPUT ON DECLARE V_EMPNO EMP.EMPNO%TYPE := &p_empno; V_ENAME EMP.ENAME%TYPE ; V_SAL EMP.SAL%TYPE ; V_TAX NUMBER ; BEGIN SELECT ENAME, SAL INTO V_ENAME, V_SAL FROM EMP WHERE EMPNO = V_EMPNO ; IF V_SAL >= 5000 THEN V_TAX := V_SAL * 0.05 ; ELSIF V_SAL >= 4000 THEN V_TAX := V_SAL * 0.04 ; ELSIF V_SAL >= 3000 THEN V_TAX := V_SAL * 0.03; ELSIF V_SAL >= 2000 THEN V_TAX := V_SAL * 0.02 ; ELSE V_TAX := V_SAL * 0.01 ; END IF ; DBMS_OUTPUT.PUT_LINE(RPAD( EMPNO =,8) V_EMPNO CHR(10) RPAD( ENAME =,8) V_ENAME CHR(10) RPAD( SAL =,8) V_SAL CHR(10) RPAD( TAX =,8) V_TAX) ; END ; / SET SERVEROUTPUT OFF SET VERIFY OFF SET ECHO ON Written by AngelaLEE

29 QUIZ: 사번 (P_EMPNO) 에 7788 이입력되면결과는? CHR(10) 함수가의미하는것은무엇이며, RPAD 함수의용도는? Written by AngelaLEE

30 6. 사원테이블 (EMP) 문자를출력하는 PL/SQL 블록. SET ECHO OFF SET VERIFY OFF VARIABLE v_name VARCHAR2(40) VARIABLE v_star VARCHAR2(40) DECLARE V_EMPNO EMP.EMPNO%TYPE := &p_empno; V_ENAME EMP.ENAME%TYPE ; V_LEN NUMBER(2) ; V_STRING VARCHAR2(40) := ; BEGIN SELECT ENAME, LENGTH(ENAME) INTO V_ENAME, V_LEN FROM EMP WHERE EMPNO = V_EMPNO ; FOR n IN 1.. V_LEN LOOP V_STRING := ; END LOOP ; :v_name := V_ENAME ; :v_star := V_STRING ; END ; / PRINT v_name PRINT v_star SET VERIFY OFF SET ECHO ON Written by AngelaLEE

31 QUIZ: 사번이 7788 인사원의이름과출력문자수는? * 참고적으로이예제는뒷부분에서학습하게될서브프로그램의파라미터와관련된것으로, variable 명령 ( 바인드변수 ) 과치환변수의의미도충분히이해하도록한다. Written by AngelaLEE

32 7. 부서코드를입력받아해당부서의정보를부서테이블 (DEPT) 에서검색하여화면에출력하는 PL/SQL 블록 SET ECHO OFF SET VERIFY OFF SET SERVEROUTPUT ON DECLARE V_REC DEPT%ROWTYPE ; BEGIN SELECT * INTO V_REC FROM DEPT WHERE DEPTNO = &p_dno ; DBMS_OUTPUT.PUT_LINE(RPAD( DEPTNO =,8) V_REC.DEPTNO CHR(10) RPAD( DNAME =,8) V_REC.DNAME CHR(10) RPAD( LOC =,8) V_REC.LOC) ; END ; / SET SERVEROUTPUT OFF SET VERIFY OFF SET ECHO ON Written by AngelaLEE

33 QUIZ: 부서코드 (p_dno) 가 20 이입력되면결과는? V_REC 변수의구조를그림으로나타내보시오.( 데이터형과크기도포함 ) V_REC 변수를 %ROWTYPE 이아닌 PL/SQL Record 로선언한다가정하고위의블록을수정해보시오. Written by AngelaLEE

34 8. 5 개의수와해당수의짝 / 홀수구분을 PL/SQL Table 에저장한후화면에일괄적으로출력하는 PL/SQL 블록. SET ECHO OFF SET VERIFY OFF SET SERVEROUTPUT ON DEFINE V_NUM1 = 10 DEFINE V_NUM2 = 34 DEFINE V_NUM3 = 1 DEFINE V_NUM4 = 77 DEFINE V_NUM5 = 58 DECLARE TYPE NUM_TABLE_TYPE IS TABLE OF NUMBER(3) INDEX BY BINARY_INTEGER ; TYPE GUBUN_TABLE_TYPE IS TABLE OF VARCHAR2(4) INDEX BY BINARY_INTEGER ; NUM_TAB NUM_TABLE_TYPE ; GUBUN_TAB GUBUN_TABLE_TYPE ; BEGIN NUM_TAB(1) := & V_NUM1 ; NUM_TAB(2) := & V_NUM2 ; NUM_TAB(3) := & V_NUM3 ; NUM_TAB(4) := & V_NUM4 ; NUM_TAB(5) := & V_NUM5 ; FOR n IN LOOP IF MOD(NUM_TAB(n),2) = 0 THEN GUBUN_TAB(n) := EVEN ; ELSE GUBUN_TAB(n) := ODD ; END IF; END LOOP ; FOR n IN LOOP DBMS_OUTPUT.PUT_LINE(RPAD(NUM_TAB(n),6) GUBUN_TAB(n)) ; END LOOP ; END ; / SET SERVEROUTPUT OFF SET VERIFY OFF SET ECHO ON Written by AngelaLEE

35 QUIZ: 결과를확인하고, NUM_TAB 과 GUBUN_TAB 의내부구조를그림으로표현하시오. Written by AngelaLEE

Microsoft Word - 05_SUBPROGRAM.doc

Microsoft Word - 05_SUBPROGRAM.doc ORACLE SUBPROGRAM INTRODUCTION PLSQL 은오라클에서제공하는프로그래밍언어이다. 이는데이터베이스언어인 SQL 과함께효과적으로데이터베이스에접근할수있는방법을제공하고있다. Procedural LanguageSQL 의약자에서볼수있듯이절차적인기능을기본적으로가지는프로그래밍언어이다. PLSQL 은기본적으로블록 (BLOCK) 구조를가지고있다. 블록의기본적인구성은선언부

More information

Microsoft Word - 04_EXCEPTION.doc

Microsoft Word - 04_EXCEPTION.doc ORACLE EXCEPTION INTRODUCTION PLSQL 블록이 PARSE 되는동안에발생되는에러를컴파일에러 (Compilation Error) 라고부르며, PLSQL 블록이실행되는동안에발생되는에러를런타임에러 (Run-Time Error) 라고부르는데, 이런타임에러를오라클에서는예외 (Exception) 라고부른다. 오라클의예외 (Exception) 는크게두가지로구분된다.

More information

Microsoft Word - PLSQL.doc

Microsoft Word - PLSQL.doc PL/SQL 2008 DB system and programming 보충자료 PL/SQL의실행절 BEGIN 절에서의몇가지규칙 - 실행문은여러라인에걸쳐사용할수있다. - 변수명의명명규칙은오라클의일반적인명명규칙과동일하다. PL/SQL 블록내에서 SQL 문을사용할때에는컬럼명과같은변수명은피해야한다. - SQL에서와마찬가지로날짜와문자는홑따옴표 ( ) 를사용하여인용하여야한다.

More information

Microsoft Word - 03_SQL_CURSOR.doc

Microsoft Word - 03_SQL_CURSOR.doc SQL Cursor SQL 커서소개오라클서버에서는 SQL 문을실행할때마다처리 (Parse, Execution) 를위한메모리공간, 즉 SQL 커서를사용하게된다. 이메모리공간은 Private SQL Area 라고도불리우며, 오라클의작업환경이 Dedicated Server 환경이냐또는 MTS(Multi- Threaded Server) 환경이냐에따라서버내에위치되는곳이다르다.

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft 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

ESQL/C

ESQL/C 20 장. PL/SQL 커서 주요내용 암시적커서 명시적커서선언 명시적커서열기및닫기 명시적커서에서데이터 Fetch 커서의속성 (%ISOPEN, %ROWCOUNT, %FOUND, %NOTFOUND) 커서 FOR 루프 PL/SQL 의커서 (Cursor) 커서 SQL 문과프로그램실행과정에서결과를저장할수있는오라클메모리구조 ( 개별 SQL 작업영역 ) 암시적커서 (Implicit

More information

13주-14주proc.PDF

13주-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 PowerPoint - PLSQL.ppt

Microsoft 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

Microsoft PowerPoint - PLSQL.ppt

Microsoft PowerPoint - PLSQL.ppt SQL 의장점과단점 PL/SQL 오라클 DB 지역정보부서코드지역 1 서울 2 부산 < 장점 > (1) 사용자가이해하기쉬운단어로구성 (2) 쉽게배울수있다. (3) 복잡한로직을간단하게작성할수있다. (4) ANSI에의해문법이표준화되어있다. SQL < 단점 > Consultant 주종면 jina6678@yahoo.co.kr 1 (1) 반복처리를할수없다.(Loop)

More information

(Microsoft Word - PLSQL\300\314\266\365.doc)

(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 information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

제4장 기본 의미구조 (Basic Semantics)

제4장  기본 의미구조 (Basic Semantics) 제 4 장블록및유효범위 Reading Chap. 5 숙대창병모 1 4.1 변수선언및유효범위 숙대창병모 2 변수선언과유효범위 변수선언 Declaration before Use! 대부분의언어에서변수는사용전에먼저선언해야한다. 변수의유효범위 (scope) 선언된변수가유효한 ( 사용될수있는 ) 프로그램내의범위 / 영역 변수이름뿐아니라함수등다른이름도생각해야한다. 정적유효범위

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 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 information

C 프로그램의 기본

C 프로그램의 기본 C 프로그램의기본 목차 C 프로그램의구성요소 주석 main 함수 출력 C 언어의입력과출력 변수 printf 함수 scanf 함수 2 예제 2-1 : 첫번째 C 프로그램 3 2.1.1 주석 주석의용도 프로그램에대한설명 프로그램전체에대한대략적인정보를제공 프로그램수행에영향을미치지않는요소 4 2.1.1 주석 주석사용방법 /* 과 */ 을이용한여러줄주석 // 을이용한한줄주석

More information

윈도우즈프로그래밍(1)

윈도우즈프로그래밍(1) 제어문 (2) For~Next 문 윈도우즈프로그래밍 (1) ( 신흥대학교컴퓨터정보계열 ) 2/17 Contents 학습목표 프로그램에서주어진특정문장을부분을일정횟수만큼반복해서실행하는문장으로 For~Next 문등의구조를이해하고활용할수있다. 내용 For~Next 문 다중 For 문 3/17 제어문 - FOR 문 반복문 : 프로그램에서주어진특정문장들을일정한횟수만큼반복해서실행하는문장

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

MySQL-.. 1

MySQL-.. 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 information

90

90 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

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#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

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (I) Contents 변수와상수 블록과변수의범위 수식과연산자 제어문과반복문 문자와문자열 배열, 포인터, 메모리관리 구조체 디버거 (gdb) 사용법 2/17 Reference The C Programming language, Brian W. Kernighan, Dennis M. Ritchie, Prentice-Hall

More information

Microsoft PowerPoint - chap06-5 [호환 모드]

Microsoft PowerPoint - chap06-5 [호환 모드] 2011-1 학기프로그래밍입문 (1) chapter 06-5 참고자료 변수의영역과데이터의전달 박종혁 Tel: 970-6702 Email: jhpark1@seoultech.ac.kr h k 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- ehanbit.net 자동변수 지금까지하나의함수안에서선언한변수는자동변수이다. 사용범위는하나의함수내부이다. 생존기간은함수가호출되어실행되는동안이다.

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft 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 information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft 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 information

DBMS & SQL Server Installation Database Laboratory

DBMS & 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

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

歯PLSQL10.PDF

歯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 information

슬라이드 제목 없음

슬라이드 제목 없음 4.2 SQL 개요 SQL 개요 SQL은현재 DBMS 시장에서관계 DBMS가압도적인우위를차지하는데중요한요인의하나 SQL은 IBM 연구소에서 1974년에 System R이라는관계 DBMS 시제품을연구할때관계대수와관계해석을기반으로, 집단함수, 그룹화, 갱신연산등을추가하여개발된언어 1986년에 ANSI( 미국표준기구 ) 에서 SQL 표준을채택함으로써 SQL이널리사용되는데기여

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

SQL Tuning Business Development DB

SQL 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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 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 information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 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 information

PowerPoint Presentation

PowerPoint Presentation #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

,, - - - : 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

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 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

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

4장.문장

4장.문장 문장 1 배정문 혼합문 제어문 조건문반복문분기문 표준입출력 입출력 형식화된출력 [2/33] ANSI C 언어와유사 문장의종류 [3/33] 값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환

More information

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 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 information

Jerry Held

Jerry 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

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

단답형 (26 회기출문제 ) 1. 아래와같은테이블이있을때아래의 SQL 결과에대해서 Oracle, SQL Server 순서로적으시오 TAB1 COL1 CHAR(10) COL2 CHAR(10) INSERT INTO TAB1 VALUES ('1',''); INSERT INT

단답형 (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 information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드

More information

Visual Basic 반복문

Visual 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 information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

Microsoft PowerPoint - e pptx

Microsoft 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 information

Microsoft Word - SQL튜닝_실습교재_.doc

Microsoft 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

슬라이드 1

슬라이드 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 information

PowerPoint Presentation

PowerPoint 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 information

Bind 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 의과정을통해데이터 Bind Peeking 한계에따른 Adaptive Cursor Sharing 등장 엑셈컨설팅본부 /DB 컨설팅팀김철환 Bind Peeking 의한계 SQL 이최초실행되면 3 단계의과정을거치게되는데 Parsing 단계를거쳐 Execute 하고 Fetch 의과정을통해데이터를사용자에게전송하게되며 Parsing 단계에서실행계획이생성된다. Bind 변수를사용하는 SQL

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

More information

Microsoft PowerPoint - a10.ppt [호환 모드]

Microsoft PowerPoint - a10.ppt [호환 모드] Structure Chapter 10: Structures t and Macros Structure 관련된변수들의그룹으로이루어진자료구조 template, pattern field structure를구성하는변수 (cf) C언어의 struct 프로그램의 structure 접근 entire structure 또는 individual fields Structure는

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.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 학습목표 중 값에 의한 전달 방법과

More information

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2

목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 제 8 장. 포인터 목차 포인터의개요 배열과포인터 포인터의구조 실무응용예제 C 2 포인터의개요 포인터란? 주소를변수로다루기위한주소변수 메모리의기억공간을변수로써사용하는것 포인터변수란데이터변수가저장되는주소의값을 변수로취급하기위한변수 C 3 포인터의개요 포인터변수및초기화 * 변수데이터의데이터형과같은데이터형을포인터 변수의데이터형으로선언 일반변수와포인터변수를구별하기위해

More information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 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 information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.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 학습목표 의 개념에 대해 알아본다.

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

Chap 11. PL-SQL

Chap 11. PL-SQL 데이터베이스개론과실습 원리를알면 IT 가맛있다 ERwin 과오라클 chapter 11. PL/SQL 한빛미디어 - 2 - PL/SQL(Oracle's Procedural Language extension to SQL) 정의 특짓 SQL 언어를사용한데이터조작과질의문등을블록구조안에젃차적단위의코드로포함하여젃차적프로그래밍을가능하게한강력한트랜잭션처리언어 SQL 문장에서변수정의,

More information

歯sql_tuning2

歯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 information

ALTIBASE HDB Patch Notes

ALTIBASE 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 information

다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL

다양한 예제로 쉽게 배우는 오라클 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 information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 누구나즐기는 C 언어콘서트 제 5 장조건문 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 goto 문 이제까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 조건문 조건에따라서여러개의실행경로가운데하나를선택 문장이실행되는순서에영향을주는문장 조건에따라서여러개의같은처리를반복

More information

Microsoft PowerPoint - chap-06.pptx

Microsoft PowerPoint - chap-06.pptx 쉽게풀어쓴 C 언어 Express 제 6 장조건문 컴퓨터프로그래밍기초 이번장에서학습할내용 조건문이란? if 문 if, 문 중첩 if 문 switch 문 break문 continue문 goto 문 5장까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 컴퓨터프로그래밍기초 2 조건문 조건에따라서여러개의실행경로가운데하나를선택

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@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 information

Commit_Wait / Commit_Logging 두파라미터를통해 Log File Sync 대기시간을감소시킬수있다는것은놀라움과의아함을동시에느낄수있다. 단지파라미터의수정을통해당연히대기해야하는시간을감축한다는것은분명성능을개선해야하는입장에서는놀라운일이될것이다. 반면, 그에따

Commit_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 information

[ 목차 ] 5.1 데이터베이스프로그래밍개념 5.2 T-SQL T-SQL 문법 5.3 JAVA 프로그래밍 2

[ 목차 ] 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 information

6장. SQL

6장. SQL 학습목표 SQL이 무엇인지 개념을 설명 테이블을 생성, 변경, 제거할 할 수 있다. 수 있다. 데이터를 검색, 갱신, 삽입, 삭 제할 수 있다. 뷰, 시스템 카탈로그, 저장 프 로시저, 트리거에 대한 개념 을 설명할 수 있다. 2 목차 SECTION 01 SQL의 개요 11 SQL의 역사 12 SQL의 유형별 종류 SECTION 0 21 스키마 22 테이블

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

Infinity(∞) Strategy

Infinity(∞) Strategy 반복제어 표월성 passwd74@cherub.sungkyul.edu 개요 for() 문 break문과 continue문 while문 do-while문 for() 문 for() 문형식 for( 표현식1; 표현식2; 표현식3) 여러문장들 ; 표현식 1 : 초기화 (1 번만수행 ) 표현식 2 : 반복문수행조건 ( 없으면무한반복 ) 표현식 3 : 반복문수행횟수 for()

More information

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

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 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

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 6 장선택과반복 이번장에서학습할내용 조건문이란? if 문 if, else 문 중첩 if 문 switch 문 break문 continue문 지금까지는문장들이순차적으로실행된다고하였다. 하지만필요에따라서조건이만족되면문장의실행순서를변경할수있는기능이제공된다. 3 가지의제어구조 조건문 문장이실행되는순서에영향을주는문장 조건에따라서여러개의실행경로가운데하나를선택

More information

10.ppt

10.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

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

슬라이드 1

슬라이드 1 정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

Java ...

Java ... 컴퓨터언어 1 Java 제어문 조성일 조건문 : if, switch 어떠한조건을조사하여각기다른명령을실행 if 문, switch 문 if 문 if - else 문형식 if 문형식 if ( 조건식 ) { 명령문 1; 명령문 2;... if ( 조건식 ) { 명령문 1; 명령문 2;... else { 명령문 a; 명령문 b;... 예제 1 정수를입력받아짝수와홀수를판별하는프로그램을작성하시오.

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 (

배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 배치프로그램에서튜닝대상 SQL 추출하기 엑셈컨설팅본부 /DB 컨설팅팀박성호 배치프로그램의성능문제를진단하기위해트레이스를사용할수없고, 개별 SQL 에대한성 능점검은비효율적인경우에어떻게배치프로그램의성능문제를제대로파악하고개선안을도 출할것인가? 복잡한로직을가지고있는프로그램 ( 이후배치프로그램 ) 에대한성능문제를파악하기위해수행되는모든 SQL 에대한개별수행내역을정확히판단할수있어야한다.

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc

Microsoft Word - [Unioneinc] 특정컬럼의 통계정보 갱신_ _ldh.doc 특정 Column 통계정보갱신가이드 유니원아이앤씨 DB 사업부이대혁 2015 년 03 월 02 일 문서정보프로젝트명서브시스템명 버전 1.0 문서명 특정 Column 통계정보갱신가이드 작성일 2015-03-02 작성자 DB사업부이대혁사원 최종수정일 2015-03-02 문서번호 UNIONE-201503021500-LDH 재개정이력 일자내용수정인버전 문서배포이력

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

TITLE

TITLE CSED421 Database Systems Lab MySQL Basic Syntax SQL DML & DDL Data Manipulation Language SELECT UPDATE DELETE INSERT INTO Data Definition Language CREATE DATABASE ALTER DATABASE CREATE TABLE ALTER TABLE

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

Chapter_06

Chapter_06 프로그래밍 1 1 Chapter 6. Functions and Program Structure April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 문자의입력방법을이해한다. 중첩된 if문을이해한다. while 반복문의사용법을익힌다. do 반복문의사용법을익힌다.

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information