[펌]PLSQL 초보

프로그래밍/DB 2008. 1. 10. 15:57 Posted by galad

- 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