PL/SQL
SQL에 대한 프로시저 언어 확장판.
PL/SQL을 통해 SQL 문장들의 block이 한번에 오라클에 보내질 수 있다.
※ PL/SQL 블록에 이름을 붙이면 데이터베이스 파일(디스크)로 저장이 된다.
※ 서버에 JVM이 있기 때문에 Java 플그램도 서버 내에서 실행 가능.
PL/SQL 블록구조
※ Forms -> Oracle Developer
Anonymous block
응용 프로그램 안에서 나타난다.
데이터베이스에 저장되거나 이름이 있지 않다.
오라클은 PL/SQL block을 컴파일하고 SGA에 공유 풀에서 컴파일 된 형태를 두지만 소스코드와 컴파일된 형태를 보관하지 않는다.
Stored programs
스키마 오브젝트로서 데이터베이스에 생성되고 저장된다.
응용프로그램으로부터 이름에 의해 호출된다.
생성되고 컴파일되면 재컴파일 없이 실행될 수 있는 이름있는 객체이다.
SQL PLUS 명령
ACCEPT : 매크로처럼 문자열을 치환한다.
VARIABLE : 호스트, 바인드 변수(타입도 필요)를 선언한다.
PRINT : 바인드 변수를 출력한다.
EXECUTE : PL/SQL block을 실행한다.
※ PL/SQL 오류 메세지를 볼 때 사용한다.
SHOW ERRORS = SELECT * FROM user_errors;
Procedure, Function : 프로시저는 리턴이 없고 함수는 리턴이 있다는 것을 제외하고 동일하다.
Package : 관련된 procedure와 function들의 꾸러미들
※ 일반 오라클 함수는 standard package에 포함되어 있다.
Stored Procedure 예시
CREATE OR REPLACE PROCEDURE change_salary
(p_id IN NUMBER, p_new_sal IN NUMBER)
IS
// DECLARE 섹션
BEGIN
UPDATE s_emp
SET salary = p_new_sal
WHERE id = p_id;
COMMIT;
END change_salary;
'컴퓨터 공부 > Advanced Database' 카테고리의 다른 글
[6월 8일 1교시] PL/SQL 3 (0) | 2009.06.08 |
---|---|
[6월 5일 6교시] PL/SQL 2 (0) | 2009.06.05 |
[6월 5일 4교시] 데이터 제어 2 (0) | 2009.06.05 |
[6월 5일 3교시] 여러 종류의 DB 객체 3 + 데이터 제어 1 (0) | 2009.06.05 |
[6월 5일 2교시] 여러 종류의 DB 객체 2 (0) | 2009.06.05 |