DataBase/Oracle PL/SQL

[1장] PL/SQL 맛보기

햄볶는뚱땡이 2010. 6. 2. 02:03
서울대 프로젝트 하면서 PL/SQL 과 JSP 로만 짜여진 로직을 보고 PL/SQL 공부를 해야 겠다고 마음먹었지만, 차일 피일 미루다가 결국 책 만 몇번 끄적이고 있지만, 그나마 하루, 이틀 본 것을 잊어먹지 않기 위해서 메모하려고 한다~ ^^

첫번째 시작~ 제1장. PL/SQL 의 맛보기라고 하겠다. 
PL/SQL 의 가장 중요한 특징 중 하나는 SQL 과 긴밀하게 통합되어 있다는 것이다.
그래서 ODBC (Open DataBase Connectivity)JDBC (Java DataBase Connectivity) 와 같은 "접착제" 역할을
담당하는 중재 소프트웨어를 사용하지 않고서도  PL/SQL 프로그램에서 SQL 문을 실해할 수 있다.

가장 프로그래밍을 빨리 익히는 방법은 짜여진 코드를 분석하는 방법이 한 방법이라고 생각되어, 이번에는 한 예문만을 보겠다.
일반적으로 SQL 을 안다면 다음 문을 어렵지 않게 이해할 수 있을것 같다~ ^^

시나리오 :
저자가 집필했거나 공동 집필한 책의 권수를 저장하기 위해 정수형 변수를 선언한다.
( select 문으로 - 저자가 집필 했거나 공동 집필한 책의 총 권수를 추출 )
 REPLACE 함수를 이용하여 저자명의 철자를   steven 을 stephen 로 바꾼다  

DECLARE
 l_book_count INTEGER;
BEGIN
 SELECT COUNT(*)
  INTO l_book_count
 FROM books
 WHERE author LIKE '%feurstein, steven%';

 DBMS_OUTPUT.PUT_LINE (
  'Steven has written (or co-written) ' || l_book_count || 'books.'
 );

 -- 저자명을 수정하고자 함.
 UPDATE books
  SET author = REPLACE (author, 'steven' , 'stephen')
 WHERE author LIK E'%feurstein, steven%';
END;


그림을 보면 좀 더 쉽게 이해 할 것 같아서 그림으로 표현하였다~ ^^