250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- tomoto
- 토픽추출
- 파이썬
- test
- r
- spring MVC(모델2)방식
- 코사인 유사도
- oracle
- Python
- mysql
- 크롤링
- db
- 게시판 만들기
- Websocket
- (깃)git bash
- Topics
- 방식으로 텍스트
- jsp 파일 설정
- word2vec
- 幼稚园杀手(유치원킬러)
- pytorch
- lda
- 과학백과사전
- RESFUL
- java
- Gmarket
- 자바
- 이력서
- 네이버뉴스
- 지마켓
Archives
- Today
- Total
무회blog
DB: 절차형 SQL (프로시저[PL/SQL], 트리거, 사용자 함수정의) 본문
절차형 SQL 에는 (프로시저, 트리거, 사용자 함수정의) 3가지가 있다 .
프로시저 :
------------------------------------------------
DECLAER : 선언할 시저명(파라미터 타입)
지역변수 OR IS
BEGIN : 시작
CONTROL : 조건문 혹은 반복문
DML OR DCL : 조작어 혹은 제어어 기재
EXCEPTION : 예외처리 기재
TRANSACTION : 트랜잭션 처리 방식 기재
END: 종결
실행: EXECUTE 시저명
삭제: DROP PROCEDURE 시저명 (지정 프로시저 삭제)
------------------------------------------------
예:
CREATE OR REPLACE PROCEDURE TEST001(param varchar2)
IS
BEGIN
SELECT * FROM TEST_TABLE
WHERE TEST_TABLE.NAME = param;
EXCEPTION
WHEN PROGRAM_ERROR THEN
ROLLBACK;
COMMIT;
END;
실행:
EXECUTE TEST001('홍길동');
EXEC TEST001('홍길동');
CALL TEST001('홍길동');
------------------------------------------------
트리거:
예:
------------------------------------------------
CREATE OR REPLACE TRIGGER TRIGGER_TEST_NAME BEFORE INSERT ON TEST_TABLE
REFERENCING NEW AS new_test_table
FOR EACH ROW
WHEN (new_test_table.NAME IS NULL)
BEGIN
:new_test_table.NAME = 'HONGGILDONG';
END;
실행:
INSERT INTO TEST_TABLE id, dept VALUES(878056, '개발부');
삭제:
DROP TRIGGER TRIGGER_TEST_NAME;
------------------------------------------------
사용자 함수:
예:
------------------------------------------------
CREATE FUNCTION GET_SEX(param VARCHAR2)
RETURN VARCHAR2
IS
BEGIN
IF param = '홍길동' THEN
RETURN '남'
ELSE
RETURN '여'
END IF;
END;
실행:
SELECT id, GET_SEX(name) FROM TEST_TABLE;
삭제:
DROP FUNCTION GET_SEX;
------------------------------------------------
'DB' 카테고리의 다른 글
DB: 1번_테이블 생성 하고 제약조건 걸기(PK,FK) , 2번_생성된 테이블 값 추가후 조회하기 (0) | 2021.03.31 |
---|---|
DB: DDL(정의 기능) -> CREATE 설명 (유형 3종: CREATE , ALTER , DROP) (0) | 2021.02.24 |
DB: hr 사용 예제, group by, 내장함수(sum,avg,max,count) (0) | 2021.02.08 |
DB: 서브쿼리(subquery) 사용 예제 (0) | 2021.02.08 |
DB: having 절 사용예제 (0) | 2021.02.08 |
Comments