728x90
1. 데이터 프로시저 개발
명령어 종류 | 명령어 | 설명 |
데이터 정의어 - DDL(Data Definition Language) | CREATE(생성) ALTER(구조 변경) DROP(삭제) RENAME(이름 변경) TRUNCATE(자르기) |
테이블과 같은 데이터 구조를 정의하는데, 사용되는 명령어들로 데이터 구조와 관련된 명령어들을 말함 |
데이터 조작어 - DML(Data Manipulation Language) | SELECT(조회) | 데이터베이스에 들어있는 데이터를 조회하거나 검색하기 위한 명령어 |
INSERT(삽입) UPDATE(갱신) DELETE(삭제) |
데이터베이스의 테이블에 들어 있는 데이터에 변형을 가하는 종류 | |
데이터 제어어 - DCL(Data Control Language) | GRANT REVOKE |
데이터베이스에 접근하고 객체들을 사용하도록 권한을 주고 회수하는 명령어 |
트랜잭션 제어어 - TCL(Transaction Control Language) | COMMIT ROLLBACK SAVEPOINT |
논리적인 작업의 단위를 묶어서 DML에 의해 조작된 결과를 작업단위(트랜잭션) 별로 제어하는 명령어 |
- 프로시저
- SQL을 이용해 생성된 데이터를 조작하는 프로그램
- Oracle 기반 PL/SQL
- 특징
- 컴파일이 필요 없이 스크립트 생성 후 바로 실행 가능
- 식별자 선언 가능
- 절차적 언어 구조
- ERROR 처리 가능
- 성능 향상 기대
- 작성 절차
- 데이터 저장소 연결
- 드라이버 로딩 -> 데이터베이스 연결 -> 쿼리 전달 -> 결과 수신
- 데이터 저장소 정의
- 데이터 조작 프로시저 작성
- 데이터 검색 프로시저 작성
- 데이터 저장소 연결
- 특징
2. 데이터 조작 프로시저 테스트
- PL/SQL 테스트
- DBMS_OUTPUT 패키지 활용
- 메시지를 버퍼에 저장하고 버퍼로부터 메시지를 읽어오기 위한 인터페이스 패키지
- DBMS_OUTPUT 패키지 활용 사례
- DBMS_OUTPUT.DISABLE : 메시지 버퍼 내용 삭제
- DBMS_OUTPUT.ENABLE : 메시지 버퍼 내용 할당
- DBMS_OUTPUT.PUT : 메시지의 마지막 라인 끝에 신규라인 문자(EOL)가 추가
- DBMS_OUTPUT.GET_LINE : 한 번 호출될 때마다 하나의 라인만을 읽어옴
- DBMS_OUTPUT.GET_LINES : 지정된 라인들을 모두 읽어들임
- DBMS_OUTPUT 패키지 활용
- 저장 객체 테스트
- 저장된 함수
- SQL> VAR salary NUMBER; - 변수 선언
- SQL> EXECUTE salary := update_sal(1004) - EXECUTE문을 이용해 실행
- SQL> PRINT salary; - SQL에서 선언된 변수의 출력은 PRINT문을 사용
- 저장된 프로시저
- SQL> SET SERVEROUTPUT ON; - 실행
- SQL> EXCUTE update_sal(1004); - 실행 이후 프로시저에서 처리하는 대로 관련 데이터가 수정됨을 확인
- 저장된 패키지
- SQL> SET SERVEROUTPUT ON; - 실행
- SQL> EXEC emp_info.all_emp_info; - 프로시저 실행결과 확인
- 트리거
- SQL> SET SERVEROUTPUT ON; - 트리거가 처리될 조건에 부합되는 SQL을 실행하여 데이터 처리결과 확인
- 저장된 함수
728x90
300x250