본문 바로가기
자격증/SQLD

[#SQLD] 제 8절 절차형 SQL

by dopal2 2023. 3. 10.
반응형

8절 절차형 SQL

1. 절차형 SQL개요

: 절차형 SQL이용시 SQL문의 연속적인 실행이나 조건에 따른 분기처리를 이용하여 특정기능을 수행하는 저장 모듈을 생성할 수 있다. Procedure, User Defined Function Triger

2. PL/SQL

           . PL/SQL 특징

                     - Block 구조로 되어있어 기능 별 모듈화 가능

                     - 변수, 상수 등을 선언하여 SQL간 값을 교환한다.

                     - IF, LOOP등의 절차형 언어를 사용하여 절차적인 프로그램이 가능

                     - DBMS 정의 에러나 사용자 정의 에러를 정의하여 사용 가능

                     - Oracle에 내장 되 있으므로 OraclePL/SQL을 지원하는 어떤 서버로든 옮길 수 있다.

                     - 응용 프로그램의 성능을 향상시킨다.

                     - 여러 SQL문장을 Block으로 묶고 한번에 Block전부를 서버로 보내기 때문에 통신량을 줄일 수 있다.

           . PL/SQL 구조

                     - DECLARE : BEGIN ~ END절에서 사용될 변수와 인수에 대한 정의 및 데이터 타입을 선언하는 선언부

                     - BEGIN ~ END : 개발자가 하고자 하는 SQL문과 여러가지 비교문, 제어문을 이용하여 필요한 로직을 처리하는 실행부

                     - EXCEPTION : BEGIN ~ END절에서 실행되는 SQL문이 실행될 때 에러가 살생하면 그 에러를 어떻게 처리할 것인지를 정의하는 예외처리부 이다.

           . PL/SQL 기본 문법 (Syntax)

                     * 생성   : CREATE [OR REPLACE] Procedure [Procedure_name]

                                  (argument1 [mode] data_type1,

                                argument2 [mode] data_type2,

                                … , … )

                                IS [AS]

                               

                                BEGIN

                               

                                EXCEPTION

                               

                                END;

                     * 삭제   : DROP Procedure [Procedure_name]

 

3. T-SQL 개요

           . T-SQL 특징

           : SQL Server을 제어하기 위한 언어, 변수선언, 데이터유형 제공, 연산자, 산술연산자, 비교 연산자, 논리 연산자 사용가능, 흐름제어 기능 IF-ELSE | WHERE | CASE-THEN 사용, 주석기능(한줄주석:--, 범위주석 : /* */)

           . T-SQL 구조

                     - DECLARE : BEGIN ~ END절에서 사용될 변수와 인수에 대한 정의 및 데이터 타입을 선언하는 선언부

                     - BEGIN ~ END : 개발자가 하고자 하는 SQL문과 여러가지 비교문, 제어문을 이용하여 필요한 로직을 처리하는 실행부

                     - EXCEPTION : BEGIN ~ END절에서 실행되는 SQL문이 실행될 때 에러가 살생하면 그 에러를 어떻게 처리할 것인지를 정의하는 예외처리부 이다.

           . T-SQL 기본문법

                      * 생성   : CREATE Procedure [schema_name], Procedure_name

                                           @parameter1 data_type1 [mode],

                                           @parameter2 data_type2 [mode],

                                          

                                           WITH

                                           AS

                                          

                                           BEGIN

                                           ….

                                           ERROR 처리

                                          

                                           END;

                      * 삭제   : DROP Procedure [schema_name] Procedure_name;

4. Procedure의 생성과 활용

5. User Definded Function의 생성과 활용

: 절차형SQL을 로직과 함께 데이터베이스 내에 저장해 놓은 명령문의 집합.

6. Trigger의 생성과 활용

: 특정 테이블에 DML문이 수행되었을 때, 데이터베이스에서 자동동작 하는 프로그램.

7. 프로시저와 트리거의 차이점

           * 프로시저         :          CREATE Procedure 문법사용

                                          EXECUTE 명령어로 실행

                                          COMMIT, ROLLBACK 실행가능

           * 트리거           :          CREATE Trigger 문법사용

                                           생성 후 자동으로 실행

                                           COMMIT, ROLLBACK 실행안됨

반응형

댓글