728x90
PI / SQL
PL/SQL은 선언적인 SQL 언어와는 달리 SQL을 프로그래밍해서 처리하는 기법이다.
보통 컴파일러가 이해할 수 있도록 해준다.
DECLARE
--- 선언(선택)
BEGIN
--- 실행 코드 (필수)
EXCEPTION
---예외 처리(선택)
END;
/ 구문으로 해준다.
∎ 선언 부분에서는 실행문에서 사용될 변수, 쿼리 수행결과로 반환되는 여러 행을 처리해주는 커서(Cursor), 사용자 정의 예외 등을 정의한다.
∎ 실행 부분에서는 질의문이나 DML 문, 그리고 조건이나 제어문(IF 문, LOOP 문)을 정의한다.
∎ 예외처리 부분은 실행 시 발생 가능한 예외를 정의하고 예외 발생 시 처리하는 구문을 정의해준다. 변수는 미리 선언한 뒤 나중에 값을 줄 수도 있지만, 선언과 동시에 값을 부여한다.
∎ 변수는 '변수_명 데이터_타입'으로 해준다. 변수에 값 할당은 '변수_명 := 값'식으로 해준다. 변수의 선언과 동시에 값을 넣을 수 있다.
=>과정은 Programming =>Compile =>Execution으로 진행되고 Compile에서 문제가 있으면 Debugging 하게 된다.
set serveroutput on;
declare
l_message varchar2(100);
begin
l_message := 'Hello World';
dbms_output.put_line(l_message);
end;
/
set serveroutput on;
begin
dbms_output.put_line('Hello World');
end;
/
create or replace procedure h_workd
is
l_message varchar2(100) := 'Hello World!!' ;
// 변수 선언과 동시에 초기값
begin
dbms_output.put_line(l_message);
end;
/
-- 실행하는 명령어
exec h_workd
select object_name, object_type from user_objects
where object_type = 'PROCEDURE';
'일단 해보는 코딩 > Oracle SQL' 카테고리의 다른 글
[오라클/SQL] Trigger(트리거) (0) | 2022.06.13 |
---|---|
[오라클/SQL]Oracle SQL Developer 설치 및 설정 (0) | 2022.06.13 |
[오라클/SQL] SYNONYM (동의어), MERGE(머지), Data Dictionary(딕셔너리) (0) | 2022.06.13 |
[오라클/SQL] Subqueries(서브쿼리) 종류와 규칙 (0) | 2022.06.12 |
[오라클/SQL] Sequence 생성/삭제, Role 권한 위임 (0) | 2022.06.10 |