-
oracle PL/SQL_개념DataBase/oracle 2020. 3. 22. 12:58
PL/SQL (procedual language /SQL) : 오라클에서 제공하는 프로그래밍 언어
일반적 프로그래밍 언어적인 요소를 다 가지고 있고, 데이터베이스 업무를 처리하기 위한 최적화 된 언어
1) 기본 구조
- 선언부 (Declare) : 모든 변수나 상수를 선언하는 부분
- 실행부 (Executable) : begin ~ end / 제어문, 반복문 함수정의 등의 로직을 기술하는 부분
- 예외처리부 (Exception) : 실행도중 에러 발생시 해결하기 위한 명령들을 기술하는 부분 <- 생략가능
**Declare, begin, exception 키워드 들은 ; 을 붙이지 않는다!!
나머지 문장들은 ; 으로 명령을 마무리?한다
declare
변수선언
begin
실행문 선언
end;
<PL 은 익명블록과 저장블록으로 나뉜다>
2) 익명블록 (anonymous PL/SQL Block) : 주로 일회성으로 사용 할 경우 쓰인다.
3) 저장블록 (stored PL/SQL Block) : 서버에 저장해 놓고 주지적으로 반복해서 사용할 경우 쓰인다.
** 익명블록 프로시저
1234567891011declarecnt integer; -- 변수선언begincnt := cnt+1; -- 변수에 값 넣을 때 = 가 아니라 := 사용!!if cnt is null thendbms_output.put_line('결과 : cnt는 널이다');end if;end;/http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter** 변수에 값을 넣을 때 := 을 사용한다
** dbms_output.put_line 은 java의 system.out.println() 기능
** 프로시저를 완성하고 실행 할 때 ' / ' 을 사용한다
그런데 저 상황에서 실행시키면 이렇게 뜨고 실행결과 안보여준다
set serveroutput on; 명령어를 실행시켜줘야한다
12set serveroutput on;set serveroutput off;결과값 출력
** 익명블록이 아닌 저장블록 프로시저는 스키마의 프로시저 탭에서 확인 할 수 있다
** sql을 씨퀄이라고도 말한는 것 같다.. 검색해보니까 외국에서는 sql이라고 안하고 씨퀄이라고 한다는 것 같당
<프로시저 처리 단계>
** 씨퀄과 PL이 따로 처리된다는 것을 기억하도록하자!!
'DataBase > oracle' 카테고리의 다른 글
oracle PL/SQl_rowType변수 및 복합변수 활용 (0) 2020.03.22 oracle PL/SQL_변수 선언 및 데이터 타입 (0) 2020.03.22 oracle 계층형 쿼리 (0) 2020.03.22 oracle 시퀀스 (0) 2020.03.22 oracle 뷰 (0) 2020.03.21