250x250
반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 뷰
- html
- 정규식 연산
- Oracle
- execute immediate
- searched case expression
- MYSQL
- dense rank
- coalesce
- 기업 협업
- sql 저장 모듈
- 비절차적 데이터 조작어
- 코드 스니펫
- 자료구조
- window 함수
- SQLD
- GROUPING
- simple case expression
- list multiplication
- dom
- ROLLUP
- Node.js
- 정보처리기사
- git
- JavaScript
- 위코드
- python
- SQL
- 문법 차이
- show graph characteristics
Archives
- Today
- Total
프로그래밍 숲
SQL 저장 모듈 소개: 프로시저, 사용자 정의함수, 트리거 한눈에 알아보기 본문
728x90
반응형
SQL 저장 모듈(Stored Module)
SQL 저장 모듈은 데이터베이스 시스템에서 사용되는 기능들의 집합입니다. 이 모듈은 데이터베이스 개발자나 관리자가 데이터의 구조, 조작, 유지보수 등을 더욱 효율적으로 수행할 수 있도록 도와줍니다. 이 중심에는 프로시저(Procedure), 사용자 정의 함수(User-Defined Function, UDF), 트리거(Trigger)라는 세 가지 요소가 있습니다.
프로시저(Procedure)
- 프로시저는 SQL 문의 논리적인 블록으로, 일련의 SQL 문을 순차적으로 실행하는 저장 프로그램입니다.
- 프로시저는 특정 작업을 수행하기 위해 사용되며, 매개변수를 받을 수 있고 결과를 반환할 수도 있습니다.
- 프로시저는 주로 데이터의 입력, 갱신, 삭제 등과 같은 복잡한 데이터 조작 작업을 처리하기 위해 사용됩니다.
- EXECUTE 명령어로 실행 가능합니다.
- COMMIT, ROLLBACK 실행이 가능합니다.(TCL을 이용하여 트랜잭션 제어 가능)
사용자 정의 함수(User-Defined Function, UDF)
- 사용자 정의 함수는 프로그래머가 자신이 필요로 하는 특정 기능을 정의하여 SQL 문에서 호출할 수 있는 함수입니다.
- 사용자 정의 함수는 매개변수를 받아들이고, 해당 매개변수를 사용하여 특정 계산을 수행한 후 결과 값을 반환합니다.
- 사용자 정의 함수는 단일 값을 반환하거나, 테이블 형태로 결과를 반환할 수도 있습니다.
- 함수는 SQL 문에서 SELECT 문이나 WHERE 절 등에서 호출되어 사용될 수 있습니다.
트리거(Trigger)
- 트리거는 데이터베이스 내의 특정 이벤트가 발생할 때 데이터베이스에 의해서 자동으로 실행되는 저장 프로그램입니다.
- 트리거는 INSERT, UPDATE, DELETE 등의 데이터 변경 작업이 발생했을 때, 해당 작업 전후에 자동으로 실행되어 추가적인 작업을 수행합니다. 예를 들어, 특정 테이블의 행이 삭제될 때 연관된 다른 테이블의 데이터도 함께 삭제하거나 업데이트하는 등의 작업을 수행할 수 있습니다.
- 트리거는 데이터의 일관성과 무결성 유지, 로그 작성 등을 위해 사용됩니다.
- 생성 후 자동으로 실행됩니다.
- COMMIT, ROLLBACK 실행이 불가능합니다.(TCL을 이용하여 트랜잭션 제어 불가능)
이러한 SQL 저장 모듈은 데이터베이스 시스템에서 데이터 조작과 관리 작업을 효율적이고 일관되게 처리할 수 있도록 도와줍니다. 프로시저, 사용자 정의 함수, 트리거는 개발자가 자신의 요구에 맞게 데이터베이스 동작을 정의하고 실행할 수 있는 강력한 툴이라고 볼 수 있습니다.
728x90
반응형
'프로그래밍_인포 > 데이터베이스&SQL' 카테고리의 다른 글
ISNULL, NVL, NULLIF, COALESCE 알아보기 (0) | 2023.06.17 |
---|---|
Searched Case Expression과 Simple Case Expression 문법 비교 (0) | 2023.06.16 |
Oracle 데이터베이스 관리를 위한 PL/SQL 기초 안내서 (0) | 2023.06.14 |
SQL 윈도우 함수 한눈에 알아보기 Rank(), Dense Rank(), Row_Number() (0) | 2023.06.13 |
SQL GROUPING 쉽게 이해해보기! (0) | 2023.06.10 |
Comments