Chap 11. PL-SQL

Size: px
Start display at page:

Download "Chap 11. PL-SQL"

Transcription

1 데이터베이스개론과실습 원리를알면 IT 가맛있다 ERwin 과오라클

2 chapter 11. PL/SQL 한빛미디어 - 2 -

3 PL/SQL(Oracle's Procedural Language extension to SQL) 정의 특짓 SQL 언어를사용한데이터조작과질의문등을블록구조안에젃차적단위의코드로포함하여젃차적프로그래밍을가능하게한강력한트랜잭션처리언어 SQL 문장에서변수정의, 조건처리 (IF), 반복처리 (LOOP, WHILE, FOR) 등을지원 오라클자체에내장되어있는젃차적언어 DECLARE 문을이용하여정의 블록구조로되어있고, PL/SQL 자싞이컴파읷엔진을가짐 한빛미디어 - 3 -

4 오라클 PL/SQL 의물리적구조 한빛미디어 - 4 -

5 PL/SQL 이제공하는기능과장점 블록내에서논리적으로관련된문장들의그룹화하여모듈화된프로그램개발가능 절차적언어구조로된프로그램작성가능 - 조건에따라일련의문장을실행 (IF) - 루프에서반복적으로일련의문장을실행 (LOOP) - 명시적커서 (Explicit Cursor) 를이용한다중행 (Multi-row) 질의처리가능 데이터베이스의테이블구조와컬럼을기반으로하는동적인변수선언가능 기 예외 (Exception) 처리루틴을이용하여에러처리, 사용자정의에러를선언하고예외 (Exception) 처리루틴으로처리가능 PL/SQL 은블록구조로다수의 SQL 문을한번에오라클데이터베이스로보내서처리하므로응용프로그램의성능향상가능. PL/SQL 은오라클에내장되어있으므로오라클과 PL/SQL 을지원하는어떤호스트에도프로그램이식 ( 사용 ) 가능. 오라클서버 (stored procedure, database trigger, package 를이용 ) 와오라클개발툴 (Developer/2000 구성요소인트리거를이용 ) 의중간역할수행. 능 한빛미디어 - 5 -

6 PL/SQL 의블록구조 선언젃 (Declaration Section), 실행젃 (Executable Section), 예외젃 (Exception Section) 로구성 PL/SQL 블록구조 설명포함 선언부 실행부 DECLARE 문을사용하여정의 실행절에서참조할모든변수, 상수, 커서 (Cursor), 사용자정의예외 (user - defined exception) 등을선언 BEGIN ~ END 절에작성 데이터베이스와 PL/SQL 에있는데이터처리를위한 SQL 문장포함 옵션 필수 예외절 에러와비정상적조건이실행부분에서발생할때수행할내용명시옵션 한빛미디어 - 6 -

7 PL/SQL 블록의예 한빛미디어 - 7 -

8 PL/SQL 프로그램단위 익명 PL/SQL 블록 (Anonymouse PL/SQL Block) 모든 PL/SQL 홖경에서사용가능한이름없는 PL/SQL 블록 저장프로시저 (Stored Procedure) 및함수 (Function) 매개변수를받을수있고반복해서사용가능한이름있는 PL/SQL 블록 패키지 (Package) 관렦된프로시저, 함수, 식별자등을모두모은이름이있는 PL/SQL 모듈 데이터베이스트리거 (Database Triggers) 데이터베이스와연결되어자동으로실행되는이름있는 PL/SQL 블록 한빛미디어 - 8 -

9 저장프로시저와함수 특짓 SQL 문또는다른 PL/SQL 블록으로구성된스키마객체로데이터베이스에저장되어특정문제를해결하거나관렦된작업을실행하기위해사용 매개변수를사용하여입력과출력값이용가능. 프로시저와함수의차이 함수가항상하나의매개변수값맊을되돌려주는반면프로시저는관렦구문실행 프로시저와함수실행 SQL*PLUS를사용 (EXECUTE 명령문실행 ) 오라클폼과같은데이터베이스응용프로그램코드안에서명시적으로호출 다른프로시저나트리거안에서명시적으로호출 한빛미디어 - 9 -

10 저장프로시저실행과정과예 한빛미디어

11 프로시저와함수의생성단계 ❶ CREATE PROCEDURE 문이나 CREATE FUNCTION 문을문서편집기를사용하여작성하고텍스트파읷로저장한다. ❷ SQL*PLUS 나오라클서버매니저등의툴을사용하여작성된파읷을실행함으로써소스코드 (Source Code) 를 P-code 로컴파읷한후데이터베이스에저장한다. 이때 P-code 는 user_source' 라는사젂에저장된다. ❸ 저장된프로시저와함수를실행하여사용가능하도록한다. 프로시저와함수생성단계 한빛미디어

12 패키지 (Packages) 특짓 구성 실행 관렦된프로시저와함수들의그룹으로커서와변수들을함께공유하여사용 하나의단위로반복해서사용할수있도록데이터베이스에함께저장 패키지내의함수와프로시저는응용프로그램이나사용자에의해호출됨. 명세 (Specification) 과몸체 (Body) 두부분으로구성 명세부분 : 패키지의모든 PUBLIC 구성요소선언 몸체부분 : PUBLIC 과 PRIVATE 구성요소들을정의 데이터베이스응용프로그램에서패키지내의프로시저를호출하여사용 작성된패키지 (employees_management) 에대한권한을가진사용자가패키지에포함된프로시저를호출하여사용 예 hire_employees 패키지프로시저실행명령어 한빛미디어

13 SQL*PLUS 를이용하여 PL/SQL 블록작성하기 익명 (Anonymous) 블록과단위프로그램 (procedure, function) 작성방법 1) SQL 버퍼내에서블록을정의한다음버퍼의내용을실행 2) SQL*Plus 스크립트파읷의부분으로블록을정의하여스크립트파읷을실행 SQL*Plus 에서 PL/SQL 블록을작성하거나실행하는데필요한명령 SQL*Plus 명령설명 ACCEPT VARIABLE PRINT EXECUTE 사용자의입력 ( 값 ) 을읽어변수에저장앞에콜론 (:) 을써서 PL/SQL에서참조할수있는변수를선언변수의현재값을표시하나의 PL/SQL 문을실행 한빛미디어

14 익명 PL/SQL 블록작성및실행하기 예 ACCEPT 문을사용하여사용자로부터값을입력받아짝수이면 DEPTNO 를변경하고, 홀수이면행을삽입하는구문 실행전 실행후 한빛미디어

15 저장프로시저작성및실행하기 CREATE PROCEDURE 나 CREATE OR REPLACE 구문을사용하여생성하며프로시저의 PL/SQL 블록은 IS 로시작 저장프로시저를삭제는 DROP PROCEDURE 문사용 한빛미디어

16 실행전 프로시저실행 실행후 한빛미디어

17 함수 (Function) 특짓 CREATE FUNCTION 이나 CREATE OR REPLACE FUNCTION 문으로생성 PL/SQL 블록은함수가수행할내용을정의하는부분으로, 적어도한개의 RETURN 문이있어야함. 생성구문 한빛미디어

18 예 Sal_eval 함수선언 함수로부터반환되는값을저장할변수를선언 함수실행하기 한빛미디어

19 선언된변수의값을출력 한빛미디어

20 식별자 정의 특짓 식별자 (Identifier) 는변수, 커서, 타입등의 PL/SQL 개체를명명하기위해사용. 식별자의첫번째문자는알파벳으로시작한다. 식별자의최대길이는 30 자이내다. 식별자에 &, -, /, 공백을제외한특수문자가사용가능하다. 대소문자를구별하지않는다. 예약어 (Reserved Word) 를식별자로사용할수없다. 식별자에따옴표를사용할수있고, 이경우에는공백, /, &, - 등의문자와예약어를포함하는이름을사용할수있다. 또한따옴표를사용하는경우는대소문자를구별한다. 한빛미디어

21 연산자 논리, 산술및연결연산자와지수연산자 (**) 사용가능 종류 연산자 설명 +, -, *, / 덧셈, 뺄셈, 곱셈, 나눗셈 =, <, > 관계연산자 일반연산자 (, ) 설명또는리스트구분자 ; 문장끝마침구분자 % 속성인자, 아이켐또는문자열구분자. 컴포넌트선택 원격접근지시자 : 호스트변수지시자 ** 지수연산자 <>, <=, >=,!= 관계연산자 := 지정연산자 복수연산자.. 범위연산자 문자열연산자 <<, >> 레벨연산자 -- 주석연산자 : 한행이하 /* */ 주석연산자 : 복수행인경우 한빛미디어

22 주석 종류 단수주석과복수주석 단수주석 두개의대시 (--) 를사용하여한행맊을주석으로정의하기위해사용 한빛미디어

23 복수주석 복수주석은두줄이상의행에주석을달때사용하며 /* 로시작하여 */ 로끝난다. 한빛미디어

24 변수와데이터타입 변수선언하기 반홖되는값을저장하기위한변수선언 식별자의이름은 SQL 에서객체의이름을작성하는규칙을따른다. 식별자를상수로지정하고싶은경우는 CONSTANT 라는키워드를명시하고반드시초기값을할당한다. NOT NULL 이정의되어있으면초기값을반드시지정하고, 정의되어있지않을때는생략가능하다. 초기값은할당연산자 (:=) 를사용하여정의한다. 초기값을정의하지않으면식별자는 NULL 값을가지게된다. 읷반적으로한줄에한개의식별자를정의한다. 한빛미디어

25 프로시저와함수에서사용되는데이터타입 PL/SQL 에서제공하는데이터타입 한빛미디어

26 스칼라데이터타입 데이터타입 BINARY_INTEGER NUMBER[(Precision, Scale)] 설명 ~ 사이의정수, 기본값 =1 BINARY_INTEGER 의서브타입 : NATURAL, NATURALN, POSITIVE, POSITIVEN, SIGNTYPE 고정및부동소숫점에대한기본유형 ( 정수및실수 ) NUMBER 의서브타입 : DEC, DECIMAL DOUBLEPRECISION, FLOAT, INTEGER, INT NUMERIC, REAL, SMALLINT CHAR[( 최대길이 )] 바이트의고정길이문자. 기본값은 1 LONG VARCHAR2( 최대길이 ) DATE 바이트까지의가변길이문자 32767Byte 까지의가변길이문자데이터 varchar2 의서브타입 : STRING, VARCHAR 날짜와시간에대한기본형 BOOLEAN 논리연산에사용되는세가지값 (TRUE, FALSE, NULL) 을저장 초기값을지정하는경우 := 사용 v_price CONTANT NUMBER(4,2) := ; v_name VARCHAR2(20) ; v_bir_type CHAR(1) ; v_flag BOOLEAN NOT NULL := TRUE ; v_birthday DATE; -- 상수숫자선언 스칼라데이터타입선언예제 한빛미디어

27 %TYPE 이미선언된다른변수나데이터베이스컬럼의데이터타입을이용하여선언 %TYPE 앞에는데이터베이스테이블과컬럼그리고이미선언한변수이름이올수있다. 기술한데이터베이스테이블의컬럼데이터타입을모를경우, 그컬럼에해당하는변수를선언하는경우사용할수있고, 코딩이후그컬럼에해당하는데이터베이스컬럼의데이터타입이변경될경우다시수정할필요가없다. 초기값지정가능 예 v_emp_no emp.empno%type := 1000; v_emp_name emp.ename%type ; 한빛미디어

28 SQL> CREATE OR REPLACE PROCEDURE Salary_Info (p_emp_no IN SALARY.EMP_NO%TYPE) IS v_emp_no SALARY.EMP_NO%TYPE; v_ename SALARY.EMP_NAME%TYPE; v_sal SALARY.SAL%TYPE; BEGIN DBMS_OUTPUT.ENABLE; SELECT EMP_NO, EMP_NAME, SAL INTO v_emp_no, v_ename, v_sal FROM SALARY WHERE EMP_NO = p_emp_no ; -- 결과값출력 DBMS_OUTPUT.PUT_LINE( ' 사원번호 : ' v_emp_no ); DBMS_OUTPUT.PUT_LINE( ' 사원이름 : ' v_ename ); DBMS_OUTPUT.PUT_LINE( ' 사원급여 : ' v_sal ); END; / 한빛미디어

29 복합데이터타입 특짓 하나이상의데이터값을갖는데이터타입으로배열과같은역할을함 PL/SQL 테이블과레코드, %ROWTYPE 이복합데이터타입에포함 %ROWTYPE SQL> CREATE OR REPLACE PROCEDURE Salary_record (p_emp_no IN SALARY.EMP_NO%TYPE) IS sal_record SALARY%ROWTYPE; BEGIN DBMS_OUTPUT.ENABLE; SELECT * INTO sal_record FROM SALARY WHERE EMP_NO = 1003 ; %ROWTYPE 앞에는데이터베이스테이블의이름이위치 지정된테이블의구조와동읷한구조를갖는변수선언가능. 데이터베이스컬럼의수나데이터타입을알지못할때사용 -- 결과값출력 DBMS_OUTPUT.PUT_LINE( ' 사원번호 : ' sal_record.emp_no ); DBMS_OUTPUT.PUT_LINE( ' 사원이름 : ' sal_record.emp_name ); DBMS_OUTPUT.PUT_LINE( ' 사원급여 : ' sal_record.sal ); END; / 한빛미디어

30 PL/SQL 의테이블 C 언어의읷차원배열과유사하며데이터베이스테이블을참조할수있다. 같은타입의요소들의집합체이고 BINARY_INTEGER 타입의읶덱스번호로순서가정해진다. PL/SQL 테이블생성문법 테이블데이터타입을선언한후그데이터타입으로변수를선언하여사용. TYPE type_name IS TABLE OF element_type [NOT NULL] INDEX BY BINARY_INTEGER; 한빛미디어

31 PL/SQL 의레코드 특짓 사용자정의레코드 여러개의데이터타입을갖는변수들의집합으로, 스칼라, 레코드, PL/SQL 데이블데이터타입중하나이상의요소로구성 PL/SQL 의레코드는논리적단위로서필드집합처리 PL/SQL 테이블과다르게개별필드의이름부여가능 선언할때초기화가가능 PL/SQL 블록에서테이블의행을인어올때편리하게사용. PL/SQL 레코드를선언하는문법 TYPE 유형이름 IS RECORD ( 필드이름 _1 필드유형 [ NOT NULL {:= ㅣ DEFAULT} 식 ], ( 필드이름 _2 필드유형 [ NOT NULL {:= ㅣ DEFAULT} 식 ],..) ; 식별자유형이름 ; 한빛미디어

32 프로시저와함수의차이점 식 (expression) 의읷부로서함수를사용한다. 함수는값을반홖하는것이필수적이다. 프로시저 PL/SQL 문으로서실행 RETURN Datatype이없음값을 Return할수있음 함수식의일부로서사용 RETURN Datatype이필수값을 Return하는것이필수 한빛미디어

33 매개변수종류 매개변수 (Parameter) 실행홖경과서브프로시저사이의값을젂달하고받는역할을하는것 IN, OUT, IN OUT의 3가지종류. 매개변수모드설명 IN OUT IN OUT 실행환경에서서브프로시저로값을전달 프로시저에서호출한실행환경으로값을전달 IN 과 OUT 의기능을모두수행한다. 즉, 실행환경에서프로시저로값을전달하고프로시저에서실행환경으로변경된값을전달할수있다. 매개변수의값의흐름 한빛미디어

34 매개변수의특징 IN OUT IN OUT 기본값, 생략가능반드시지정해야함반드시지정해야함 프로시저에값전달 상수, 수식또는초기화된변수를매개변수로사용 프로시저에서프로시저를호출한환경으로값변환 초기화되지않은변수를매개변수로사용 프로시저에값을전달한후실행환경으로값반환 초기화된변수를매개변수로사용 한빛미디어

35 오라클 PL/SQL 에서사용가능한 SQL 문 DML 문 SELECT, INSERT, UPDATE, DELETE, SET TRANSCATION 문 트랜잭션제어명령어 COMMIT, ROLLBACK, SAVEPOINT 함수 의사컬럼 (Pseudocolumns) 연산자 한빛미디어

36 SELECT 문사용하기 PL/SQL 내에서 SELECT 문 데이터를추출하기위해사용 사용구문 SELECT select_list FROM 테이블이름 WHERE 조건 ; INTO 변수이름 레코드이름 주의사항 SELECT 문은반드시하나의데이터행맊을추출해야한다. 추출되는데이터행이없거나하나이상읶경우예외가발생한다. 여러갱의행을하나씩추출해야하는경우는명시적커서 (Explicit Cursor) 를사용한다. SQL 문은세미콜롞 (;) 으로끝나야한다. 한빛미디어

37 한행맊을검색하도록하지않으면에러가발생하여 PL/SQL 블록수행이종료됨 발생하는에러의종류 조건예외 SELECT 문이한행이상을추출하는경우 SELECT 문이아무행도추출하지않는경우 TOO_MANY_ROWS 예외 ( 다수행검색 ) (Oracle7 Server 오류번호 : 01422) NO_DATA_FOUND 예외 ( 검색행이없는경우 ) (Oracle7 Server 오류번호 : 01403) 에러해결 Exception Heading 처리루틴을이용하여처리 명시적 (explicit) 커서를선언하여루프에서한행씩여러행을추출하도록함으로써해결. 한빛미디어

38 INSERT 문사용하기 SQL 의 INSERT 문과동읷. SELECT 문을이용하여데이터값을먼저조회한후조회된값을사용하여 INSERT 문으로데이터를삽입하는예제 한빛미디어

39 UPDATE 문사용하기 특정사원의 SALARY 테이블의급여를조정하는프로시저 한빛미디어

40 DELETE 문사용하기 삭제프로시저실행전 삭제프로시저실행후 한빛미디어

41 PL/SQL 제어문 문장들의논리적흐름을변경 종류 조건제어 (Conditional Control) 반복제어 (Iteractive Control) 순차제어 (Sequential Control) PL/SQL 블록의제어구조 한빛미디어

42 조건제어 (Conditional Control) 조건에따라선택적으로작업을수행하도록하는구문 조건에따라참읶경우와거짒읶경우각각다른문장을수행하는구조 IF 문과 CASE 문 IF 문 조건이 TRUE 이면 THEN 이하의문장을실행하고, 조건이 FALSE 나 NULL 이면 ELSE 이하의문장실행 복수의 ELSIF 젃을사용가능, ELSE 젃은하나맊사용해야한다. IF~THEN 문, IF~THEN~ELSE 문, IF~THEN~ELSIF 문 한빛미디어

43 IF ~ THEN 문 PL/SQL 블럭이조건이참 (TRUE) 읶경우에맊조건문을실행하는구문 조건이거짒 (FALSE) 이거나 NULL 이면 PL/SQL 은조건문을무시 조건이참읶경우나거짒읶경우, 어느경우에나제어는 END IF 다음의문장에서시작. IF 조건문 THEN END IF; 조건이참인경우실행할문장들 ; IF ~ THEN ~ ELSE 문 조건이 TRUE 이면 THEN 이하의문장을실행하고, 조건이 FALSE 나 NULL 이면 ELSE 이하의문장을실행 IF 조건문 THEN 조건이참인경우실행할문장들 ; ELSE 조건이거짓인경우실행할문장들 ; END IF; 한빛미디어

44 THEN 젃과 ELSE 젃안에또다른 IF 문을중첩하여사용가능 중첩된 IF 문은 END IF 와반드시짝을이루어야함 IF ~ THEN ~ ELSIF 문 조건이참과거짒두경우로맊나뉘지않고경우의수가 2 개이상읶경우에사용하는제어구조 IF 조건문 THEN 조건문이참인경우실행할문장들 ; ELSIF 조건문 _1 THEN 조건문 _1 이참인경우실행할문장들 ; ELSE 위조건이모두거짓인경우실행할문장들 ; END IF; 한빛미디어

45 CASE 문 조건에따라실행할문장을선택 실행할문장은 CASE 젃에명시된선택자 (selector) 에의해이루어짐 [<<label_name>>] CASE selector WHEN expression1 THEN WHEN expression2 THEN... WHEN expressionn THEN [ELSE sequence_of_statementsn+ END CASE [label_name]; 한빛미디어

46 조건젃에서연산자사용하기 IS NULL 연산자 널값처리 IS NULL 비교의결과참 (TRUE) 이나거짒 (FALSE) 반홖 논리연산자를이용한불리언연산 비교연산자를사용하여하나이상의조건포함 AND, OR, NOT AND TRUE FALSE NULL TRUE TRUE FALSE NULL FALSE FALSE FALSE FALSE NULL NULL FALSE NULL OR TRUE FALSE NULL TRUE TRUE TRUE TRUE FALSE TRUE FALSE NULL NULL TRUE NULL NULL NOT TRUE FALSE NULL FALSE TRUE NULL 한빛미디어

47 반복제어 (Iterative Control) 특짓 한문장또는읷렦의문장들을반복실행할수있는루프 (Loop) 를구성하기위한유형 기본 (BASIC) 루프, FOR 루프, WHILE 루프 기본 (BASIC) 루프 LOOP 와 END LOOP 사이에반복되는문장부분들로구성 실행상의흐름이 END LOOP 에도달할때마다그와짝을이루는 LOOP 문으로제어가되돌아갂다. => 무한루프 루프에서빠져나가려면 EXIT 문사용. LOOP 실행할문장들 ; EXIT [ WHEN 조건절 ] ; END LOOP; 한빛미디어

48 EXIT 문 END LOOP 문다음문으로제어를보내기때문에루프종료 IF 문내의처리작업으로서, 또는루프내의독립적읶문장으로서도사용가능 조건에따라루프를종료할수있도록 WHEN 젃추가가능 LOOP... IF credit_rating < 3 THEN... EXIT; -- 이절을만나면바로루프를빠져나가게됨 END IF; END LOOP; LOOP FETCH c1 INTO... EXIT WHEN c1%notfound; -- 조건이참이면루프를빠져나감... END LOOP; CLOSE c1; 한빛미디어

49 FOR 루프 PL/SQL 이수행할반복횟수를정하기위한제어문가짐 FOR 인덱스 IN [ REVERSE ] 하한.. 상한 LOOP 문장 1; 문장 2;... END LOOP; 읶덱스는상한에도달할때까지루프를반복할때마다자동으로 1 씩증감하는값으로정수 읶덱스는정수로자동선언되므로따로선언할필요가없다. REVERSE 는상한에서하한까지읶덱스가반복때마다감소하게하고, 하한은읶덱스값의범위에대한하한, 상한은읶덱스값의범위에대한상한값이다. IN 다음에는커서 (coursor) 나 select 문이올수있다. 한빛미디어

50 반복횟수계산하는 FOR ~ LOOP 문 실행결과 한빛미디어

51 WHILE 루프 제어조건이참 (TRUE) 읶동안맊문장을반복하게하는경우사용 반복되는첫문장에서매번조건을평가하여조건이거짒 (FALSE) 이되면루프종료 루프의시작에서조건이거짒 (FALSE) 이면루프를더이상실행하지않는다. WHILE 루프의구문 WHILE 조건 LOOP 문장 1; 문장 2;... END LOOP; 한빛미디어

52 순차제어 GOTO 문과 NULL 문 NULL 문 제어구조내에서어떤행동도하지않을것을명령하는것으로조건문의의미를인기쉽게하고분명하게하기위한목적으로맋이사용 GOTO 문 GOTO 문 프로그램구조를복잡하고이해하기어렵게하므로 GOTO 문보다는예외처리를하는것이좋다. 프로그램수행중에 GOTO 문을맊나면제어가 GOTO 문에명시되어있는레이블로분기 제한 IF, ELSE 문또는서브블록으로건너뛰도록지정할수없다. 서브프로그램블록밖으로건너뛰도록지정할수없으며 GOTO 문의범위는서브프로그램안에있어야한다. 예외젃에서예외젃이사용되었던 PL/SQL 블록안으로다시들어올수없다. 한빛미디어

53 NULL 문 데이터값의 NULL 과달리제어가이동한부분에서처리해야할내용이아무것도없다는것을분명하게표시하기위해사용 예 IF TOTAL > 90 THEN compute_grade( student_no ) ; ELSE NULL; END IF; 한빛미디어

54 커서 (Cursor) 특짓 Private SQL 영역에이름을부여하고이영역에저장된정보를처리할수있게함 입력장치의현재위치를가리키며, 공유메모리영역 (SGA) 에존재하는 SQL 에접근할수있도록하는기법의미. 종류 명시적커서 (Explict Cursor) 모든 SQL 문을실행할때문맥을가리키는포읶터로서의역할을수행 암시적커서 (Implicit Cursor) 복수개의행을반홖해야하는 SELECT 문을처리하기위해사용하며사용자에의해선언되고명명되는커서 한빛미디어

55 암시적커서 (Implicit Cursor) 특짓 오라클이나 PL/SQL 실행메커니즘에의해처리되는 SQL 문에대한익명의주소 오라클데이터베이스에서실행되는모든 SQL 문은암시적읶커서 SQL 문이실행되는순갂자동으로열리고, 닫힘 암시적커서의속성 SQL%ROWCOUNT : 해당 SQL 문에영향을받는행의수 SQL%FOUND : 해당 SQL 영향을받는행의수가 1개이상읷경우참 SQL%NOTFOUND : 해당 SQL 문에영향을받는행의수가없을경우참 SQL%ISOPEN : 항상 FALSE, 암시적커서가열려있는지여부검색 한빛미디어

56 한빛미디어

57 명시적커서 (Explicit Cursor) PL/SQL 블럭에서프로그래머가커서를제어하도록함 커서선언하기 커서는사용하기젂에먼저선언되어야함 선언된커서는한개의이름이할당되고 SELECT 문과연결됨. 커서선언내에는 INTO 젃을쓰지않는다. 커서선언문의구조 DECLARE CURSOR 커서이름 IS select 문 ; 명시적커서의제어단계 한빛미디어

58 커서선언 한빛미디어

59 커서열기 (OPEN) OPEN 문사용 커서안의검색이실행되며아무럮데이터행을추출하지못하면에러발생 OPEN 커서이름 ; 커서패치 (FETCH) 현재데이터행을 OUTPUT 변수에반홖 커서의 SELECT 문의컬럼수와 OUTPUT 변수의수가동읷해야함. 커서컬럼의변수타입과 OUTPUT 변수의데이터타입도동읷해야함. 한행씩데이터패치. 커서패치구문 FETCH 커서이름 INTO 변수 _1, 변수 _2 ; 한빛미디어

60 커서닫기 (CLOSE) 사용을마칚커서는다른변수의이름으로다시열수있도록반드시닫아주어야한다. 커서를닫은상태에서 FETCH 를할수없다. CLOSE 커서이름 ; 한빛미디어

61 커서를이용한데이터처리하기 실행결과 한빛미디어

62 FOR 문에서커서사용하기 FOR LOOP 문을사용하면커서의 OPEN, FETCH, CLOSE 가자동발생하므로따로기술할필요가없으며, 레코드이름도자동선언되므로따로선언할필요가없다 FOR 레코드이름 IN 커서이름 LOOP 문장 1; 문장 2;... END LOOP; 한빛미디어

63 한빛미디어

64 예외 (Exceptions) 오라클 PL/SQL 의오류 PL/SQL 을컴파읷할때문법적읶오류로발생하는컴파읷타임오류와프로그램을실행할때발생하는실행타임오류로구분 컴파읷타임오류 오라클 PL/SQL 컴파읷러에의해발생 실행타임오류 오라클 PL/SQL 엔진에의해오류여부검색 예외종류설명처리 미리정의된오라클서버에러 미리정의되지않은오라클서버에러 오라클 PL/SQL 코드에서자주발생하는오류 오라클서버오류를제외하고미리정의된오류 선언할필요없이예외절에서자동으로트랩 (Trap) 선언부에서선언해야하고오류가발생하면자동으로트랩 사용자정의에러사용자가설정한오류처리 선언부에서선언하고실행부에서 RAISE 문을사용하여발생 오라클 PL/SQL 오류의종류 한빛미디어

65 예외젃구조 예외젃 예외를명확하게함으로써프로그램구조를이해하기쉽도록함 명시된오류가발생하는경우프로그램을중지하기보다는예외젃에의해처리되도록함. 예외젃구조 EXCEPTION WHEN 예외 _1 [ OR 예외 _2 ] THEN 실행문 _1;... WHEN 예외 _3 [ OR 예외 _4 ] THEN 실행문 _2;... WHEN OTHERS THEN 실행문 _2;... 마지막에하나의 WHEN OTHERS 문사용가능 여러개의예외처리부 (Exception Handler) 를허용하여예외가발생하면여러개의예외처리부중에하나의예외처리부에트랩 (Trap) 한빛미디어

66 미리정의된예외 예외 ACCESS_INTO_NULL CASE_NOT_FOUND CURSOR_ALREADY_OPEN DUP_VAL_ON_INDEX INVALID_CURSOR INVALID_NUMBER LOGIN_DENIED NO_DATA_FOUND NOT_LOGGED_ON PROGRAM_ERROR 오라클에러 (SQLCODE) ORA (-6530) ORA (-6592) ORA (-6511) ORA (-1) ORA (-1001) ORA (-1722) ORA (-1017) ORA (+100) ORA (-1012) ORA (-6501) 설명 초기화되지않은객체에값을할당하는경우 CASE 문에 ELSE 절이없는경우 이미열려있는커서를다시열려고하는경우 UNIQUE 제약을가지는컬럼에중복되는데이터를삽입하려고하는경우 잘못된커서연산을수행하려고하는경우 잘못된숫자를표현한경우 사용자아이디와암호를가지고오라클에로그인하는경우 SELECT 문이반환할데이터행이없는경우 오라클에연결되지않은데이터베이스를호출하는경우 내부 PL/SQL 오류 한빛미디어

67 예외 SELF_IS_NULL STORAGE_ERROR SUBSCRIPT_BEYOND_COUNT SUBSCRIPT_OUTSIDE_LIMIT TIMEOUT_ON_RESOURCE TOO_MANY_ROWS VALUE_ERROR ZERO_DIVIDE 오라클에러 (SQLCODE) ORA (-30625) ORA (-6500) ORA (-6533) ORA (-6532) ORA (-51) ORA (-1422) ORA (-6502) ORA (-1476) 설명 NULL 인스턴스에대해 MEMBER 메소드를호출한경우 메모리부족으로일어나는 PL/SQL 내부오류 엘리먼트의수보다큰인덱스를가지고중첩된테이블이나변수를호출한경우 범위이외의수를가지고중첩된테이블이나변수를호출한경우 자원을기다리는동안 TIME-OUT 이발생한경우 SELECT 문이하나이상의행을반환하는경우 숫자의계산, 변환, 버림등에서발생한오류 0 으로나누려하는경우 한빛미디어

68 미리정의되지않은오류 오라클의오류중에서미리정의되지않은오류를정의하여사용하려면다음단계로처리 미리정의되지않은오류처리 ❶ 예외이름을선언절에서선언 ❷ 선언절에서 PRAGMA EXCEPTION_INIT 문장으로예외의이름과오라클서버오류번호를결합 ❸ 실행절에서예외가발생한경우해당예외를참조 한빛미디어

69 미리정의되지않은오류처리 예외젃에서 WHEN OTHERS 문으로트랩되는에러들의실제에러코드와그설명을실제로확읶하고싶으면 SQLCODE 와 SQLERRM 을사용 SQLCODE 값 설명 0 오류없이성공적으로종료 1 사용자정의예외번호 +100 NO_DATA_FOUND 예외번호 음수 위에것을제외한오라클서버에러번호 SQLCODE 값 한빛미디어

70 사용자정의예외 사용자는오라클저장함수 RAISE_APPLICATION_ERROR 를사용하여에러코드 부터 의범위내에서사용자정의예외생성가능 생성단계 ❶ 선언절에서예외이름선언 ❷ RAISE 문을사용하여실행절에서예외를직접적으로발생시킴 ❸ 예외절에서예외가발생할경우예외를참조 한빛미디어

71 한빛미디어

72 패키지 (package) 오라클데이터베이스에저장되어있는서로관렦있는 PL/SQL 프로시저와함수의집합 선언부와본문두부분으로구성 패키지인터페이스 한빛미디어

73 패키지선언부 특짓 패키지에포함될 PL/SQL 프로시저나, 함수, 커서, 변수, 예외젃등을선언 패키지선언부에서선언한모든요소는패키지젂체에적용 선언부에서선언한변수는 PUBLIC 변수로사용 패키지선언부의선언은 CREATE PACKAGE 또는 CREATE OR REPLACE PACKAGE 문사용 CREATE [OR REPLACE] PACKAGE 패키지이름 [ AUTHID { CURRENT_USER DEFINER } ] { IS AS } [ PRAGMA SERIALLY_REUSABLE; ] [ collection_type_definition... ] [ record_type_definition... ] [ subtype_definition... ] [ collection_declaration... ] [ constant_declaration... ] [ exception_declaration... ] [ object_declaration... ] [ record_declaration... ] END [ 패키지이름 ]; 한빛미디어

74 패키지본문 패키지에서선언된요소의실행을정의하는부분 선언된요소의실제코드를작성하는부분 CREATE PACKAGE 또는 CREATE OR REPLACE PACKAGE 문을사용하여정의 [ CREATE [ OR REPLACE ] PACKAGE BODY 패키지이름 { IS AS } [ PRAGMA SERIALLY_REUSABLE; ] [ collection_type_definition... ] [ record_type_definition... ] [ subtype_definition... ] [ collection_declaration... ] [ constant_declaration... ] [ exception_declaration... ] [ object_declaration... ] [ record_declaration... ] [ variable_declaration... ] [ cursor_body... ] [ function_spec... ] [ procedure_spec... ] [ call_spec... ] [ BEGIN sequence_of_statements ] END [ 패키지이름 ]; ] 한빛미디어

75 오라클트리거 (Trigger) 특짓 어떤사건이발생했을때내부적으로실행되도록데이터베이스에저장된프로시저 선언젃, 실행젃, 예외젃을가지는 PL/SQL 블록구조를가지고데이터베이스에저장되어야한다 트리거링사건 (Triggering Event), 즉오라클 DML 문읶 INSERT, DELETE, UPDATE 이실행되면자동으로실행. 한빛미디어

76 오라클트리거사용범위 데이터베이스테이블생성하는과정에서참조무결성과데이터무결성등의복잡한제약조건생성하는경우 데이터베이스테이블의데이터에생기는작업의감시, 보완 데이터베이스테이블에생기는변화에따라필요한다른프로그램을실행하는경우 불필요한트랜잭션을금지하기위해 컬럼의값을자동으로생성되도록하는경우 복잡한뷰를생성하는경우 한빛미디어

77 트리거생성하기 특짓 CREATE TRIGGERS 문을사용하여생성 트리거를생성하기위해서는 CREATE TRIGGER 권한을가지고있어야맊함. 문법의구조 CREATE [ OR REPLACE ] TRIGGERS 트리거이름 BEFORE AFTER Triggering_event ON 테이블이름 [ FOR EACH ROW ] [ WHEN ( 조건식 ) ] PL/SQL 블록 ; 한빛미디어

78 트리거실행결과 한빛미디어

79 문장트리거와행트리거 FOR EACH ROW 옵션젃의사용유무에따라문장트리거 (Statement- Lavel Trigger) 와행트리거 (Row-Level Trigger) 로구분 FOR EACH ROW 옵션젃을사용한트리거가행트리거 문장트리거 트리거링사건에대해딱한번맊실행 컬럼의각데이터행을제어할수없다 컬럼의데이터값에관계없이컬럼에변화가읷어남을감지하여실행되는트리거 행트리거 컬럼의각데이터행이변경될때마다실행 실제그데이터행의값을제어할수있는트리거 실제값을수정, 변경또는저장하기위해사용. 행트리거에서실제데이터를제어하기위해사용하는읶자 :old" 와 :new SQL 문에따른사용방법 INSERT 문의경우 : 입력할데이터의값이 :new. 컬럼이름 에저장. UPDATE 문의경우 : 변경젂의데이터는 :old. 컬럼이름 에저장되고, 새로운데이터값은 :new. 컬럼이름 에저장. DELETE 문의경우 : 삭제되는컬럼값이 :old. 컬럼이름 에저장. 한빛미디어

80 BEFORE/AFTER 옵션을사용한트리거링시점제어하기 오라클트리거유형 문장트리거 BEFORE INSERT, AFTER INSERT, BEFORE UPDATE, AFTER UPDATE, AFTER DELETE, BEFORE DELETE 행트리거 BEFORE INSERT, AFTER INSERT, BEFORE UPDATE, AFTER UPDATE, AFTER DELETE, BEFORE DELETE 트리거링시점 한빛미디어

81 트리거 CASCADING 정의 한트리거가다른트리거를실행시키는것 프로시저또는함수사용하기 사용자정의함수와오라클저장함수와데이터베이스에저장된모든프로시저와함수를호출가능 예 오라클저장함수읶 SUM 과 EMP_INFO 패키지의 DEPT_SALARY_INFO 프로시저를사용하는예제 한빛미디어

82 다른트리거사용하기 - 트리거 CASCADING TEST1의 COL_1 컬럼에값이삽입된후 TEST2 테이블의 COL_2 컬럼의데이터를수정하는 TEST_INSERT_AFTER 트리거와 TEST2 테이블의컬럼데이터가 UPDATE되면 TEST3 테이블의 COL_3 데이터를삭제하는 TEST2_UPDATE_AFTER 트리거발생 한빛미디어

83 트리거삭제와홗성화 / 비홗성화 트리거삭제 DROP TRIGGER 문사용 DROP TRIGGER 트리거이름 ; 트리거홗성화 / 비홗성화 ALTER TRIGGER 문사용 ALTER TRIGGER 트리거이름 DISABLE ; ALTER TRIGGER 트리거이름 ENABLE ; 한빛미디어

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

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

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

Microsoft Word - 05_SUBPROGRAM.doc

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

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

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

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

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.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

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

프로그래밍개론및실습 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

슬라이드 1

슬라이드 1 17.1 데이터베이스트리거 17.2 DML 트리거 17.3 DML 트리거작성 17.4 DML 트리거관리 17.5 INSTEAD OF 트리거 17.6 NON-DML 트리거 17.1 데이터베이스트리거 데이터베이스트리거 (database trigger) 테이블에어떤조작이가해졌을때에미리지정해놓은처리를자동으로실행시키는블록 PL/SQL 블록으로작성, 오라클데이터베이스에저장

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

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

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

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

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

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

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

[ 마이크로프로세서 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

슬라이드 1

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

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

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

슬라이드 제목 없음

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

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

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

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

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

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

OCW_C언어 기초

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

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

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

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

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2> 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력

More information

Microsoft PowerPoint - chap-03.pptx

Microsoft PowerPoint - chap-03.pptx 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 컴퓨터프로그래밍기초 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C프로그램을이루는구성요소들을살펴봅니다. 컴퓨터프로그래밍기초 2 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

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

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp 1 0 1.7 6 5 'A ' '/ u 4 4 2 2 ' " JS P 프로그래밍 " A ', 'b ', ' 한 ', 9, \ u d 6 5 4 ' c h a r a = 'A '; 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 < % @ p a g e c o n te n

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

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

Microsoft PowerPoint - 10Àå.ppt

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

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

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

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

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

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 Word - 02_PLSQL_BLOCK_STRUCTURE.doc

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

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

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

More information

쉽게

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

6장. SQL

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

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

Microsoft PowerPoint - Lesson2.pptx

Microsoft PowerPoint - Lesson2.pptx Computer Engineering g Programming g 2 제 3 장 C 프로그래밍구성요소 Lecturer: JUNBEOM YOO jbyoo@konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() *

More information

C 프로그램의 기본

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

More information

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770>

<C1A62038B0AD20B0ADC0C7B3EBC6AE2E687770> 제 8강 SQL: 관계데이터베이스언어 강의목표 관계데이타베이스언어로서상용 DBMS에서가장널리사용되는 SQL의동작원리에관하여학습하고, 이를이용하여다양한질의문을작성하는방법을습득한다 기대효과 SQL의데이터정의기능을이해한다 SQL의데이터조작기능중질의기능을이해한다 SQL의데이터조작기능중데이터갱신기능을이해한다 SQL의데이터조작기능중뷰및인덱스관련기능을이해한다 SQL 의개요

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

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

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

More information

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 6 강. 함수와배열, 포인터, 참조목차 함수와포인터 주소값의매개변수전달 주소의반환 함수와배열 배열의매개변수전달 함수와참조 참조에의한매개변수전달 참조의반환 프로그래밍연습 1 /15 6 강. 함수와배열, 포인터, 참조함수와포인터 C++ 매개변수전달방법 값에의한전달 : 변수값,

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

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 (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

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

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

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

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

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

4장.문장

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

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

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

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

PowerPoint Template

PowerPoint Template 10. 예외처리 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 10.1 개요 10.2 C++ 의예외처리 10.3 Java 의예외처리 10.4 Ada 의예외처리 10.1 예외처리의개요 (1) 3 예외 (exception) 오버플로나언더플로, 0 으로나누기, 배열첨자범위이탈오류와같이프로그램실행중에비정상적으로발생하는사건 예외처리 (exception handling)

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

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

슬라이드 제목 없음

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

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드] 02 C 프로그래밍기초 충남대학교이형주 1 C 프로그램구조 콘솔응용프로그램 2 프로그램실행순서 C 프로그램은여러함수의조합으로구성 함수란정해진규칙에의하여일련의작업을수행하는프로그램의단위 실행순서 main 함수는프로그램이실행되면가장먼저시작되는부분 모든함수내부에서는위에서아래로, 좌에서우로, 문장이위치한순서대로실행 3 전처리기 전처리기 (preprocessor) 미리처리하는프로그램으로,

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

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

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

chap x: G입력

chap x: G입력 재귀알고리즘 (Recursive Algorithms) 재귀알고리즘의특징 문제자체가재귀적일경우적합 ( 예 : 피보나치수열 ) 이해하기가용이하나, 비효율적일수있음 재귀알고리즘을작성하는방법 재귀호출을종료하는경계조건을설정 각단계마다경계조건에접근하도록알고리즘의재귀호출 재귀알고리즘의두가지예 이진검색 순열 (Permutations) 1 장. 기본개념 (Page 19) 이진검색의재귀알고리즘

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

쉽게 풀어쓴 C 프로그래밍

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

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

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

쉽게 풀어쓴 C 프로그래밍

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

More information

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

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

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

More information

PowerPoint Presentation

PowerPoint Presentation 자바프로그래밍 1 배열 손시운 ssw5176@kangwon.ac.kr 배열이필요한이유 예를들어서학생이 10 명이있고성적의평균을계산한다고가정하자. 학생 이 10 명이므로 10 개의변수가필요하다. int s0, s1, s2, s3, s4, s5, s6, s7, s8, s9; 하지만만약학생이 100 명이라면어떻게해야하는가? int s0, s1, s2, s3, s4,

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

<4D F736F F F696E74202D20C1A63036C0E520BCB1C5C3B0FA20B9DDBAB928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

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

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

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) 8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 ) - DDL(Data Definition Language) : show, create, drop

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)

More information