1] 내장 SQL
1. 커서 (Cursor)
- 내장 SQL문의 실행 결과로 반환된 복수 개의 튜플들을 접근할 수 있도록 해주는 개념
- 질의 실행 결과로 반환된 테이블의 튜플들을 순서대로 가리키는 튜플에 대한 포인터.
- 한번에 하나씩 튜플들을 처리할 수 있음
* 커서 관련 명령어
DECLARE | 커서를 정의하는 등 커서에 관련된 선언을 하는 명령어 |
OPEN | 커서가 질의 결과를 첫 번째 튜플을 가리키도록 설정하는 명령어 |
FETCH | 질의 결과에 대한 튜플들 중 현재의 다음 튜플로 커서를 이동시키는 명령어 |
CLOSE | 질의 실행 결과에 대한 처리 종료 시 커서를 닫기 위해 사용하는 명령어 |
2] 스토어드 내장 프로시저
1. 스토어드 프로시저(Stored Procedure)
- 프로시저 : 특정한 작업을 수행하는 SQL문을 논리적으로 그룹화한 것. 그 자체만으로도 완전한 프로그램의 축소판.
- 스토어드 프로시저 : 연속된 SQL문을 하나로 모아 SQL서버에 미리 컴파일해서 저장해 놓은 것. 호출문을 통하여 일괄 작업 수행에 적합.
구성 | 장점 |
- 선언부 : 타입, 커서, 상수, 변수, 내포된 서브 프로그램 선언부 - 실행부 : 코드 실행 제어, 데이터 조작 문 작성 - 예외처리부 : 예외 처리 | 모듈별 프로그래밍 허용. 빠른 SQL 실행 시간 보안성 향상 네트워크 통신량 감소 |
2. 생성, 제거, 실행
CREATE [OR REPLACE] PROCEDURE 프로시저명(파라미터) [지역변수 선언] 프로시저 BODY; | - OR REPLACE : 선택적 예약어. 파라미터 IN : 프로시저에 값 전달하는 것 지정 OUT : 프로시저가 반환하는 값 지정 INOUT : 프로시저에 값 전달하고 프로시저 가 반환하는 값 지정 BODY : 본문 코드. BEGIN~ END. 적어도 하나의 SQL문 있어야 함. SET : 변수에 값 치환 예약어 | |
CREATE OR REPLACE PROCEDURE change_s(IN 사원번호 INTERGER) BEGIN UPDATE 급여 SET 지급방식 = ‘S’ WHERE 사원번호 = 사원번호; END; | ||
|
| |
DROP PROCEDURE 프로시저명; | EXECUTE 프로시저명; EXEC 프로시저명; |
3] 이상
1. 이상의 개념
- 테이블에서 일부 속성들의 종속으로 인해 데이터의 중복이 발생
-> 이 중복으로 인해 테이블 조작 시 문제가 발생하는 현상
2. 이상의 종류
삽입 이상 | 테이블에 데이터를 삽입할 떄 의도와는 상관없이 원하지 않는 값들로 인해 삽입할 수 없게 되는 현상 |
삭제 이상 | 테이블에서 한 튜플을 삭제할 떄 의도와는 상관없는 값들도 함께 삭제(연쇄삭제)되는 현상 |
갱신 이상 | 튜플에 있는 속성 값 갱신할 때 일부 튜플의 정보만 갱신되어 정보에 불일치성이 생기는 현상 |
'[자격증] 정보처리기사' 카테고리의 다른 글
[정보처리기사][실기]2과목 18 병행제어 (0) | 2019.11.18 |
---|---|
[정보처리기사][실기]2과목 17 함수적 종속, 정규화 (0) | 2019.11.18 |
[정보처리기사][실기]2과목 15 뷰 (0) | 2019.11.12 |
[정보처리기사][실기]2과목 14 SQL – DCL (0) | 2019.11.12 |
[정보처리기사][실기]2과목 13 SQL – DML (0) | 2019.11.12 |