- PLSQL은 SQL에 프로그래맹 언어 설계 기능을 추가한 것이다.
- SQL의 데이터 조작문 및 질의문은 프로시저 단위코드에 포함된다.
< PL/SQL >
- Anonymou block : 평상시 script로 저장했다가 사용
- Function, Procedure
- Package : Function과 Procedure의 모음
- Trigger : 이벤트에 반응하는 로직
< PL/SQL의 블록구조 >
-- DECLARE
변수선언, 커서, 사용자가 정의한 예외사항
-- BEGIN
SQL문, PL/SQL문
-- EXCEPTION
오류가 발생할 때의 수행작업
-- END;
※첨부파일 실행시 스키마를 고려하여 DB에 접속해야 한다.
< PL/SQL 공통 >
-- 생성한 함수/프로시져 조회
SQL> SELECT DISTINCT NAME FROM USER_SOURCE;
--생성 후에는 꼭 에러 여부를 확인한다.
SQL> SELECT * FROM USER_ERRORS; //마지막에 실행한 명령의 에러를 가지고 있다.
< PLSQL - EditPlus환경설정 >
※첨부파일
plsql2.zip
plsql2_구문강조_사용설명서.txt
======================================================================
< PLSQL - variable >
※첨부파일
plsql_variable01.sql
plsql_variable02.sql
plsql_variable03.sql
< PLSQL - cursor >
※첨부파일
plsql_cursor01.sql
plsql_cursor02.sql
plsql_cursor03.sql
plsql_cursor04.sql
plsql_cursor05.sql
< PLSQL - exception >
※첨부파일
plsql_exception01.sql
plsql_exception02.sql
< PLSQL - 종합문제 >
※첨부파일
plsql_exe01.sql : 종합문제 NO1 :사원별 급여현황에 따른 '*',급여 출력
plsql_exe02.sql : 종합문제 NO3 :급여 누적값 출력(1)
plsql_exe03.sql : 종합문제 NO3 :급여 누적값 출력(2)
plsql_exe04.sql : 종합문제 NO2 : 년도별 입사한 사원수 출력
======================================================================
** PROCEDURE : 어떠한 작업처리가 목적이다.
VALUE를 반환 할수도 안할 수도 있다.
SQL문에서 사용불가,
여러개의 인자를 받을수있다.
** FUNCTION : 반드시 한개의 VALUE를 반환한다.
SQL문에서 사용가능(사용자 정의 함수)
< PLSQL - PROCEDURE(프로시져) >
※첨부파일
procedure01_raise_salary.sql
procedure02_updownsalary.sql
procedure03_query_emp.sql
procedure03_query_emp_plsql.sql
< PLSQL - FUNCTION(함수) >
※첨부파일
function01_get_sal.sql : 사원번호를 받아 급여를 출력하는 함수
function02_annsal.sql : 연봉을 구하는 함수
function03_find_dname.sql : 특정 사번을 그 사원의 부서명을 출력하는 함수
< PLSQL - TRIGGER >
※첨부파일
trigger01_secure_emp.sql
trigger02_copy_insert.sql
trigger03_update_dept.sql
trigger04_delete_dept.sql
trigger05_delete_emp.sql
trigger06_set_null_emp.sql
trigger07_update_cascade_emp.sql
trigger08_audit_emp_values.sql
'프로그래밍 > DB' 카테고리의 다른 글
[펌] MySQL 사용하기 (0) | 2008.11.25 |
---|---|
[펌] mysql root 암호 분실 시 (1) | 2008.11.25 |
PL SQL문제 (0) | 2008.01.10 |
DBMS_LOCK 사용 시 에러 (0) | 2008.01.10 |
[펌]SQL*plus FAQ 및 TIPS (0) | 2008.01.09 |