[Oracle DB] ํŠธ๋ฆฌ๊ฑฐ (trigger) ์˜ ๊ฐœ๋…๊ณผ ์˜ˆ์ œ
ยท
DBMS/OracleDB
CREATE OR REPLACE TRIGGER trigger_name BEFORE|AFTER [INSERT|UPDATE|DELETE] ON table_name DECLARE ๋ณ€์ˆ˜ ์„ ์–ธ => ๋ณ€์ˆ˜๊ฐ€ ์—†์œผ๋ฉด ์ƒ๋žต BEGIN ํŠธ๋ฆฌ๊ฑฐ ๊ตฌํ˜„ END;ํŠธ๋ฆฌ๊ฑฐ์˜ ๊ฐœ๋…- ํŠธ๋ฆฌ๊ฑฐ๋Š” ํ”„๋กœ์‹œ์ €์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ์‹คํ–‰๋˜๋Š” ์›๋ฆฌ๊ฐ€ ๋‹ค๋ฅด๋‹ค- ํ”„๋กœ์‹œ์ €๋Š” ์ž‘์„ฑ ํ›„ EXECUTE / EXEC ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด์„œ ์ง์ ‘ ์‹คํ–‰ํ•˜์ง€๋งŒํŠธ๋ฆฌ๊ฑฐ๋Š” ์–ด๋–ค ์ด๋ฒคํŠธ ( ์ฃผ๋กœ DML ) ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ '๋‚ด๋ถ€์ '์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์ €์žฅ๋œ ํ”„๋กœ์‹œ์ €์ด๋‹ค. ํŠธ๋ฆฌ๊ฑฐ์˜ ํŠน์ง•- ํ”„๋กœ์‹œ์ €์˜ ํ˜•ํƒœ์ด์ง€๋งŒ ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉ๋˜๊ธฐ ๋ณด๋‹ค DML ๊ตฌ๋ฌธ์— ๋ถ™์—ฌ์„œ ์‚ฌ์šฉ ..
[Oracle DB] ๋ฌธ์ž ํ•จ์ˆ˜ LPAD, SUBSTR, REPLACE
ยท
DBMS/OracleDB
๐Ÿ’‍โ™‚๏ธ  ###.###.#### (12์ž๋ฆฌ ์ˆ˜)  ์ฒ˜์Œ ์„ธ ์ž๋ฆฌ ์ˆซ์ž ๋Œ€์‹  (02)๋ฅผ ๋ถ™์—ฌ ์ถœ๋ ฅํ•ด๋ณด์ž ex) 650.507.9833 -> (02).507.9833 ์œผ๋กœ ๋ณ€๊ฒฝ ํ›„ ์ถœ๋ ฅ * SUBSTR(char, pos, len) :SUBSTR ํ•จ์ˆ˜๋Š” ์ž˜๋ผ์˜ฌ ๋Œ€์‚ฌ ๋ฌธ์ž์—ด์ธ char์˜ pos๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ len๊ธธ์ด๋งŒํผ ์ž˜๋ผ๋‚ธ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.* LPAD(expr1, n ,expr2) :LPAD ํ•จ์ˆ˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋“ค์–ด์˜จ expr2 ๋ฌธ์ž์—ด์„ n์ž๋ฆฌ๋งŒํผ ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฑ„์›Œ expr1์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. a. SUBSTR ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด 650.507.9833 ์ž˜๋ผ๋‚ด๊ธฐ (์ฒซ ๋ฒˆ์งธ ๋ฌธ์ž๋ถ€ํ„ฐ ๋„ค๋ฒˆ์งธ ๋ฌธ์ž)b. LPADํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋“ค์–ด์˜จ expr2('(02)')์„ n(13)์ž๋ฆฌ๋งŒํผ ์™ผ์ชฝ๋ถ€ํ„ฐ ์ฑ„์›Œ expr1(SUBSTR ..
[OracleDB] Constraints(์ œ์•ฝ์กฐ๊ฑด) ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž
ยท
DBMS/OracleDB
์ œ์•ฝ์กฐ๊ฑด Constraints ์€ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค.์ œ์•ฝ์กฐ๊ฑด์—๋Š” NOT NULL, UNIQUE, Primary Key(๊ธฐ๋ณธํ‚ค), Foreign Key(์™ธ๋ž˜ํ‚ค), CHECK ๋“ฑ์ด ์žˆ๋‹ค. 1. NOT NULL์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… NOT NULL ์ปฌ๋Ÿผ์„ ์ •์˜ํ•  ๋•Œ NOT NULL ์ œ์•ฝ์กฐ๊ฑด์„ ๋ช…์‹œํ•˜๋ฉด ํ•ด๋‹น ์ปฌ๋Ÿผ์—๋Š” ๋ฐ˜๋“œ์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅํ•ด์•ผ ํ•œ๋‹ค.์œ„ ์˜ˆ์ œ๋ฅผ ๋ณด๋ฉด NOT NULL ์ปฌ๋Ÿผ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์ง€ ์•Š์„ ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. -- ํ…Œ์ด๋ธ” ์ƒ์„ฑ CREATE TABLE EX2_6( COL_NULL VARCHAR2(10), COL_NOT_NUlL VARCHAR2(10) NOT NULL);INSERT INTO ex2_6 VALUES ('AA', ''); -- ์—๋Ÿฌ ๋ฐœ์ƒ..