728x90
반응형
SQLD 단원별 목록으로
1. 절차형 SQL 개요
- 일반적인 개발 언어처럼 SQL에도 절차 지향적인 프로그램이 가능하도록 DBMS 벤더별로 PL(Procedural Language)/SQL(Oracle), SQL/PL(DB2), T-SQL(SQL Server) 등의 절차 형 SQL을 제공하고 있다
- SQL문의 연속적인 실행이나 조건에 따 른 분기처리를 이용하여 특정 기능을 수행하는 저장 모듈을 생성할 수 있다.
2. PL/SQL 개요
- Oracle의 PL/SQL은 Block 구조로 되어있고 Block 내에는 DML 문장과 QUERY 문장, 그 리고 절차형 언어(IF, LOOP) 등을 사용할 수 있으며, 절차적 프로그래밍을 가능하게 하는 트랜잭션 언어이다.
가) PL/SQL 특징
- Block 구조로 되어있어 각 기능별로 모듈화가 가능하다.
- 변수, 상수 등을 선언하여 SQL 문장 간 값을 교환한다.
- IF, LOOP 등의 절차형 언어를 사용하여 절차적인 프로그램이 가능하도록 한다.
- DBMS 정의 에러나 사용자 정의 에러를 정의하여 사용할 수 있다.
- Oracle에 내장되어 있으므로 Oracle과 PL/SQL을 지원하는 어떤 서버로도 프로그램을 옮길 수 있다.
- 응용 프로그램의 성능을 향상시킨다.
- 여러 SQL 문장을 Block으로 묶고 한 번에 Block 전부를 서버로 보내기 때문에 통신량을 줄일 수 있다.
나) PL/SQL 구조
- DECLARE : BEGIN ~ END 절에서 사용될 변수와 인수에 대한 정의 및 데이터 타입을 선언하는 선언부
- BEGIN ~ END : 개발자가 처리하고자 하는 SQL문과 여러 가지 비교문, 제어문을 이용하여 필요한 로직을 처리하는 실행부
- EXCEPTION : BEGIN ~ END 절에서 실행되는 SQL문이 실행될 때 에러가 발생하면 에러를 어떻게 처리할 지정의 하는 예외 처리부
다) PL/SQL 기본 문법(Syntax)
- CREATE TABLE 명령어로 테이블을 생성하듯 CREATE 명령어로 데이터베이스 내에 프로 시저를 생성할 수 있다.
3. T-SQL 개요
가) T-SQL 특징
- T-SQL은 근본적으로 SQL Server를 제어하기 위한 언어
- 변수 선언 기능 @@이라는 전역변수(시스템 함수)와 @이라는 지역변수가 있다.
- 지역변수는 사용자가 자신의 연결 시간 동안만 사용하기 위해 만들어지는 변수이며 전역변수는 이미 SQL서버에 내장된 값이다.
- 데이터 유형(Data Type)을 제공한다. 즉 int, float, varchar 등의 자료형을 의미한다.
- 연산자(Operator) 산술연산자( +, -, *, /)와 비교연산자(=, <, >, <>) 논리연산자(and, or, not) 사용이 가능하다.
- 흐름 제어 기능 IF-ELSE와 WHILE, CASE-THEN 사용이 가능하다.
- 주석 기능
- 한 줄 주석 : -- 뒤의 내용은 주석
- 범위 주석 : /* 내용 */ 형태를 사용하며, 여러 줄도 가능함
나) T-SQL 구조
- DECLARE : BEGIN ~ END 절에서 사용될 변수와 인수에 대한 정의 및 데이터 타입을 선언하는 선언부이다.
- BEGIN ~ END : 개발자가 처리하고자 하는 SQL문과 여러 가지 비교문, 제어문을 이용하여 필요한 로직을 처리하는 실행부
- ERROR 처리 : BEGIN ~ END 절에서 실행되는 SQL문이 실행될 때 에러가 발생하면 에러를 어떻게 처리할지 정의하는 예외 처리부
다) T-SQL 기본 문법(Syntax)
4. Trigger
- 특정한 테이블에 INSERT, UPDATE, DELETE와 같은 DML문이 수행되었을 때, 데이터베이스에서 자동으로 동작하도록 작성된 프로그램
- 사용자가 직접 호출하 여 사용하는 것이 아니고 데이터베이스에서 자동적으로 수행하게 된다.
- 테이블과 뷰, 데이터베이스 작업을 대상으로 정의할 수 있으며, 전체 트랜잭션 작업에 대해 발생되는 Trigger와 각 행에 대해서 발생되는 Trigger가 있다.
5. 프로시저와 트리거의 차이점
- 프로시저는 BEGIN ~ END 절 내에 COMMIT, ROLLBACK과 같은 트랜잭션 종료 명령어를 사용할 수 있지만, 데이터베이스 트리거는 BEGIN ~ END 절 내에 사용할 수 없다.
728x90
반응형
'자격증 > SQL개발자(SQLD)' 카테고리의 다른 글
5-2장. SQL 최적화 기본 원리(인덱스 기본) (2) | 2023.06.04 |
---|---|
5-1장. SQL 최적화 기본 원리(옵티마이저와 실행계획) (6) | 2023.06.03 |
4-7장. SQL 활용(DCL[DATA CONTROL LANGUAGE]) (5) | 2023.05.30 |
4-6장. SQL 활용(윈도우 함수[WINDOW 함수]) (10) | 2023.05.30 |
4-5장. SQL 활용(그룹 함수[GROUP 함수]) (8) | 2023.05.29 |