2021-02-18 오라클 뷰, 스토어드 프로시저

데이터베이스
테이블
- 임시 테이블
- 속도가 빠르다 (데이터베이스 서버 등의 사용에 있어 문제 발생 및 편리함 용이)
- on commit delete 커밋 될 시 삭제
- on commit preserve 전체 완료 시 삭제

	뷰
		- 일반 사용자 입장에서는 테이블과 동일하게 사용하는 개체
		- 장점
			- 보안에 도움
			- 복잡한 쿼리문 단순화
		- 키워드
			- select * from USER_VIEWS;	-- 모든 뷰 검색
			- select * from USER_CONSTRAINTS
					where owner='TABLEDB' and table_name='USERTBL' and constraint_type='P';
				: 제약조건 검색
	
	구체화된 뷰
		- 

스토어드 프로시저
	- 오라클에서 제공하는 프로그래밍 기능
	- 매개변수도 이용하며, 호출은 execute 문을 사용한다
	- 함수는 반환하는 값이 반드시 있으며, 주로 select 문 안에서 사용한다
	- 테이블 형식을 반환하는 함수도 사용할 수 있다.

	- 쿼리문의 집합으로 어떠한 동작을 일괄 처리하기 위한 용도로 사용

	- 형식
		create or replace procedure 스토어드_프로시저_이름(파라미터) as
		변수 선언 부분
		begin
			이 부분에 PL/SQL 프로그래밍 코딩
		End 스토어드 프로시저 이름;

		실행 : execute 스토어드_프로시저_이름();
		또는 exec 스토어드_프로시저_이름();


		DECLARE
			[ 선언 ]	변수
		BEGIN
			[ 실행 ]	실행할 쿼리문
		EXCEPTION
			[ 예외처리 ]
		END;
		-- DECLARE / 선언 : 변수들을 정의
		-- BEGIN / 실행 : 실제 실행될 PL/SQL 이 들어감 (필수!!)
		-- EXCEPTION / 예외처리 : 예외 발생 구문을 적는 부분
					- exception when 예외 then 처리할 문장



		예제 ------------------------------------------------------------

		CREATE OR REPLACE PROCEDURE [ 프로시저 이름 : userProc ] AS
				[ 변수 선언 : v_bYear NUMBER ];
		BEGIN
				SELECT birthYear INTO v_bYear FROM userTBL
				WHERE userID = 'SSK';
				v_bYear := v_bYear +1;	<- 위에서 선언한 변수에 값 입력
				dbms_output.put_line (v_bYear);	<- 변수 출력
		END userProc;	<- 프로시저 끝

		SET SERVEROUTPUT ON;
		EXECUTE userProc();

	- 변수 대입 할 때 := 키워드 사용

	- 기본적으로 PL/SQL은 결과물을 보여주지 않는다.
	- 결과물을 보고 싶다면 SERVEROUTPUT 설정 을 ON 으로 설정해 주어야 한다.
		SET SERVEROUTPUT ON;

	- SQL> SHOW ERRORS;
		PL/SQL 은 오류를 안보여준다.
		그렇기 때문에 위 명령어로 확인 한다.
	- 수정
		- create or replace procedure
	- 삭제
		- drop procedure

좋은 웹페이지 즐겨찾기