상세 컨텐츠

본문 제목

[개미의 걸음 SQLD 2과목] 절차형 SQL(PL/SQL, T-SQL)

자격증/SQLD

by IT개미 데이터 2021. 1. 1. 07:07

본문

728x90

절차형 SQL

SQL문의 연속적인 실행이나 조건에 따른 분기처리를 이용해 특정 기능을 수행하는 저장 모듈을 생성ㅇ할 수 있도록 하는 SQL

  • ORACLE은 PL/SQL
    DB2는 SQL/PL
    SQL Server는 T-SQL

 

PL/SQL[Procedural Language]

출처 : DBGUIDE.NET

Oracle에서 만든 절차적 프로그래밍이 가능한 트랜잭션 언어

  • Block내에 DML문, QUERY문, 절차형언어(IF,LOOP) 등을 사용 가능
  • 변수와 상수 등을 사용해 일반 SQL문을 실행할 때 WHERE절의 조건 등으로 대입 가능
  • Procedure, User Ddfined Function, Trigger 객체를 PL/SQL로 작성 가능
  • PL/SQL로 작성된 Procedure, User Defined Function은 작성자가 트랜잭션 분할 가능
  • Procedure 내에서 다른 Procedure 호출시 호출 프로시저의 트랜잭션과는 별도로 자율 트랜잭션 처리 가능
        → PRAGMA AUTOMOUS_TRANSACTION

 

PL/SQL 특징

  • Block 구조로 되어있어 각 기능별로 모듈화 가능
        → 여러 SQL문장을 Block으로 묶어서 한번에 전부 서버로 보내므로 통신량을 줄일 수 있음
  • 변수, 상수 등을 선언하여 SQL문장 간 값을 교환 가능
  • IF, LOOP 등의 절차형 언어를 사용해 절차적인 프로그램이 가능하도록 함
  • DBMS 정의 에러나 사용자 정의 에러를 정의해 사용 가능
  • Oracle에 내장되어 있어 Oracle과 PL/SQL을 지원하는 어떤 서버로도 프로그램을 옮길 수 있음
  • 응용 프로그램의 성능을 향상시킴

 

PL/SQL 구조

출처 : DBGUIDE.NET

  • DECLARE : BEGIN~END절에서 사용될 변수와 인수에 대한 정의 및 데이터 타입을 선언하는 선언부
  • BEGIN ~ END : 처리하고자 하는 SQL문과 여러 가지 비교문, 제어문을 이용해 필요한 로직을 처리하는 실행부
  • EXCEPTION : BEGIN~END절에서 실행되는 SQL문이 발생하는 에러를 어떻게 처리할 것인지 정의하는 예외 처리뷰

 

 

T-SQL

SQL Sever를 제어하기 위한 언어

  • MS사에서 ANSI/ISO 표준의 SQL에 약간의 기능을 더 추가해 만든 것

T-SQL의 프로그래밍 기능

  • 변수 선언 기능
        → @@이라는 전역변수와 @라는 지역변수 존재
        → 전역 변수 : 이미 SQL에 내장된 변수
        → 지역 변수 : 사용자가 자신의 연결 시간동안만 사용하기 위해 만들어지는 변수
  • 데이터 유형을 제공
        → INT, FLOAT, VARCHAR 등
  • 연산자 사용 가능
        → 산술연산자[ +,-,*,/ ]와 비교연산자[ =, <, >, <> ]와 논리연산자[AND, OR, NOR] 사용 가능
  • 흐름제어기능
        → IF~ELSE와 WHILE, CASE-THEN 사용 가능
  • 주석 기능
        → 한 줄 주석 : -- 내용
            여러 줄 주석 : /* 내용 */

T-SQL 구조

출처 : DBGUIDE.NET

  • DECLARE : BEGIN ~ END 절에서 사용될 변수와 인수에 대한 정의 및 데이터 타입을 선언하는 선언부
  • BEGIN ~ END : 처리하고자 하는 SQL문과 여러 가지 비교문, 제어문을 이용하여 필요한 로직을 처리하는 실행부   
        → BEGIN, END 문을 반드시 사용해야하는 것은 아니지만 블록 단위로 처리하고자 할 때는 반드시 작성
  • ERROR 처리 : BEGIN ~ END 절에서 실행되는 SQL문이 발생하는 에러를 어떻게 처리할 것이지를 정의하는 예외 처리부
728x90

관련글 더보기

댓글 영역