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 |
Tags
- Operating System
- pytorch
- Artifical Intelligence
- 세미조인
- 비지도학습
- Database
- 카티션 곱
- backpropagate
- Hyperparameters
- Program Execution
- System Structure
- SQL
- 동기식 입출력
- OS
- Arificial Intelligence
- mode bit
- AI
- 중첩질의
- 실렉션
- RuntimeError
- camerax
- process
- 운영체제
- TicTacToe
- 디비전 연산자
- kernel
- 데이터베이스
- 정규화
- 조인
- dataloader
Archives
- Today
- Total
aajin126's devlog
[Database] SQL(3) 본문
저장 프로시저 (Stored Procedure)
- 대부분의 데이터베이스는 저장 프로시저라는 기능을 제공한다.
- 관계 데이터베이스를 위한 표준 데이터 언어인 SQL에 절차적인 언어의 기능 (IF-THEN, WHILE 루프 등)을 추가하여 확장한 언어이다.
DELIMITER $$
CREATE PROCEDURE 스토어드_프로시저_이름(IN 또는 OUT 매개변수)
BEGIN
-- SQL 프로그래밍 코딩 --
END $$
DELIMITER;
CALL 스토어드_프로시저_이름();
IN 또는 OUT 매개변수 사용법
- IN 입력_매개변수_이름 데이터_형식
- CALL 스토어드_프로시저_이름(전달_값)
- OUT 출력_매개변수_이름 데이터_형식
- CALL 스토어드_프로시저_이름(@변수명)
- SELECT @변수명
DELIMITER $$
CREATE PROCEDURE GetEmployee2(IN Name char(10))
BEGIN
SELECT EMPNAME, EMPNO, DNO
FROM EMPLOYEE
WHERE EMPNAME = Name;
END $$
DELIMITER ;
--EMPNAME이 김상원인 조건을 검색!
CALL GetEmployee2('김상원');
DELIMITER $$
CREATE PROCEDURE GetEmployee3(IN Name char(10), OUT Sal int)
BEGIN
SELECT salary INTO Sal
FROM EMPLOYEE
WHERE EMPNAME = Name;
END $$
DELIMITER ;
CALL GetEmployee3('김상원', @Sal)
SELECT @Sal;
트리거(trigger)
- 명시된 이벤트(INSERT, DELETE, UPDATE)가 발생할 때마다 DBMS가 자동적으로 수행하는, 사용자가 정의하는 문(PROCEDURE)이다.
- 데이터베이스의 무결성을 유지(데이터의 결함이 없도록)하기 위한 일반적이고 강력한 도구이다.
- 테이블 정의 시 표현할 수 없는 기업의 비즈니스 규칙들을 시행하는 역할이다.
- 트리거를 명시하려면 트리거를 활성화시키는 사건인 이벤트, 트리거가 활성화되고 조건이 참일 때 수행되는 문인 동작을 표현해야 한다.
- SQL3 표준에 포함되었으며 대부분의 상용 관계 DBMS에서 제공된다.
DELIMITER //
CREATE TRIGGER testTrg
AFTER DELETE -- 삭제 이벤트 후에 진행
ON EMPLOYEE -- 트리거를 부착할 테이블
FOR EACH ROW
BEGIN
SET @msg = '직원이 삭제됨'; -- 트리거 실행 시 작동되는 코드
END //
DELIMITER ;
--DELETE 이벤트 실행
DELETE FROM EMPLOYEE
WHERE EMPNAME = '김상원';
SELECT @msg;
참고)
Ewha Woman Univ. Database (2023-1. Prof. InKi Lee)
'Computer Science > Database' 카테고리의 다른 글
[Database] 릴레이션 정규화 (0) | 2023.05.24 |
---|---|
[Database] 데이터베이스 설계와 ER 모델(1) (0) | 2023.04.14 |
[Database]SQL(2) (0) | 2023.04.14 |
[Database] SQL(1) (0) | 2023.04.10 |
[Database] 관계 대수(2) (0) | 2023.04.04 |
Comments