2021.10.20.-2021.12.14.
β
λ³μμ μλ§μ λ°μ΄ν°κ° μ‘΄μ¬νμ¬ νλνλ νμΈνκΈ°μλ μ΄λ €μμ΄ μμ΄ λ³μ λ°μ΄ν°λ² μ΄μ€λ₯Ό ν΅ν΄ κ°μ’ μμ¬ λ° κ°νΈμ¬μ μ§λ£κ³Όλ₯Ό μμ½κ² κ²μν μ μλ€.
β
νμμ μ μ μ 보 λΏλ§ μλλΌ νμκ° μμ¬μκ² λ°μ μ§λ£ λ΄μ©μ μ‘°ννμ¬
νλμ μνλ λ°μ΄ν°λ₯Ό κ²μνμ¬ λ²κ±°λ‘μμ μ€μΌ μ μλ€.
β
λν νμκ° μμ½μ νκ³ , μμ½ λ΄μμ λΉ λ₯΄κ² νμΈν μ μλλ‘ νλ€.
β
κ΄κ³μλ νμμ μ§λ£κΈ°λ‘ λ° μμ½ κΈ°λ‘μ κ΄λ¦¬ν μ μλλ‘ νκ³ ,
κ΄λ¦¬μλ κ΄κ³μ λ° νμμ λ°μ΄ν°λ₯Ό κ΄λ¦¬ν μ μλλ‘ νλ€.
β
β
β
β
κΈ°μ‘΄μ λ³μ κ΄λ¦¬ νλ‘κ·Έλ¨μ νΈλ¦¬κ±° λ° μ μ₯ νλ‘μμ λ±μ μΆκ°νμ¬ νμ©νμλ€.
β
μꡬμ¬ν λͺ μΈμλ λ€μκ³Ό κ°λ€.
β
1) μμ¬λ κ³ μ μ μμ¬λ²νΈ, μ§λ£κ³Όλͺ©, μ΄λ¦, μ νλ²νΈ, μ£Όμ, λΉλ°λ²νΈλ₯Ό κ°μ§λ€.
2) κ°νΈμ¬λ κ³ μ μ κ°νΈμ¬λ²νΈ, μ§κΈ, μ΄λ¦, μ νλ²νΈ, μ£Όμ, μ§λ£κ³Όλͺ©, κ³Όλ²νΈ, λΉλ°λ²νΈλ₯Ό κ° μ§λ€.
3) νμλ‘ λ±λ‘νλ €λ©΄ κ³ μ μ νμλ²νΈ, μ΄λ¦, μ£Όλ―Όλ±λ‘λ²νΈ, μ νλ²νΈ, μ£Όμ, μ μ₯(ν€), λͺΈλ¬΄κ², νμ‘ν, μ±λ³, μ§λ£λ΄μ©, λΉλ°λ²νΈ μ λ ₯μ ν΄μΌνλ€.
4) μ μμ κ³ μ μ μ μμΌ, ν΄μμΌ, μ μμ€ μ 보λ₯Ό κ°λλ€.
5) μ§λ£κ³Όλ κ³ μ μ κ³Όλ²νΈ, κ³Όμ΄λ¦, μ νλ²νΈ μ 보λ₯Ό κ°λλ€.
6) μμ¬λ μ¬λ¬ λͺ μ νμλ₯Ό μ§μ°°ν μ μκ³ , νμλ μ¬λ¬ λͺ μ μμ¬μκ² μ§λ£λ°μ μ μλ€.
7) μ§λ£λ₯Ό λ°μΌλ©΄ μ§λ£λ²νΈ, μ§λ£μΌμ΄ μ μ₯λλ€.
8) κ°νΈμ¬λ μ¬λ¬ λͺ μ νμλ₯Ό μ²μΉν μ μμΌλ©° μ΄λ μ²μΉμΌ, μ²μΉλ΄μ©μ΄ μ μ₯λλ€.
9) μ§λ£λ΄μ©μ λ€μ€κ°μ κ°μ§ μ μλ€. (ex. μ½1μ ν΄μ΄μ , μ½2λ μ§ν΅μ ..etc)
10) μμ¬μ κ°νΈμ¬λ νλμ μ 곡(μ§λ£κ³Όλͺ©)μ κ°μ§λ€.
11) νμλ μ μν μ μμΌλ©° μ μμ νμκ° μ‘΄μ¬ν λμλ§ μμ μ μλ μ½μ±κ°μ²΄μ΄λ€.
12) νμλ μ¬λ¬ λͺ μ μν μ μλ€.
13) νμλ μμ½ν μ μμΌλ©° μμ½μ νμκ° μ‘΄μ¬ν λμλ§ μμ μ μλ μ½μ±κ°μ²΄μ΄λ€.
14) μμ½μ κ³ μ μ μμ½μΌ, μμ½λ²νΈ, μμ½λ΄μ©μ΄ μλ€.
15) κ΄λ¦¬μλ κ³ μ μ IDμ λΉλ°λ²νΈλ₯Ό κ°μ§λ€.
16) νλμ κ΄λ¦¬μλ μ¬λ¬ λͺ μ μμ¬, κ°νΈμ¬, νμλ₯Ό κ΄λ¦¬ν μ μλ€.
17) 3λ μ΄μ μ§λ£λ΄μ κ°±μ μ΄ μλ νμλ ν΄λ©΄μΌλ‘ μ νλκ³ , ν΄λ©΄λ²νΈκ° μμ±λλ€.
β
β
β
E-R λ€μ΄μ΄κ·Έλ¨μ λ€μκ³Ό κ°μ΄ λ³κ²½λμλ€.
β

β
β
λ³κ²½λ μ€ν€λ§λ λ€μκ³Ό κ°λ€.
β
β
β
μ§λ£κ³Ό 릴λ μ΄μ ( κ³Όλ²νΈ, κ³Όμ΄λ¦, μ νλ²νΈ )
μ§λ£ 릴λ μ΄μ ( μ§λ£λ²νΈ, μμ¬λ²νΈ, νμλ²νΈ, μ§λ£μΌ )
μμ¬ λ¦΄λ μ΄μ ( μμ¬λ²νΈ, μ΄λ¦, μ νλ²νΈ, μ£Όμ, κ³Όλ²νΈ, λΉλ°λ²νΈ)
κ°νΈμ¬ 릴λ μ΄μ ( κ°νΈμ¬λ²νΈ, μ΄λ¦, μ νλ²νΈ, μ£Όμ, κ³Όλ²νΈ,λΉλ°λ²νΈ )
μ μ 릴λ μ΄μ ( νμλ²νΈ, μ μμΌ, ν΄μμΌ, μ μμ€ )
νμ 릴λ μ΄μ (νμλ²νΈ, μ΄λ¦, μ£Όμ, μ νλ²νΈ, μ£Όλ―Όλ±λ‘λ²νΈ, μ μ₯(ν€), λͺΈλ¬΄κ², νμ‘ν, μ±λ³, κ°νΈμ¬λ²νΈ, μ²μΉμΌ, μ²μΉλ΄μ©, λΉλ°λ²νΈ)
νμ-μ§λ£λ΄μ© 릴λ μ΄μ (νμλ²νΈ, μ§λ£λ΄μ©)
μμ½ λ¦΄λ μ΄μ (νμλ²νΈ, μμ½λ²νΈ, μμ½μΌ, μμ½λ΄μ©, λ΄λΉμμ¬)
κ΄λ¦¬μ 릴λ μ΄μ (ID,λΉλ°λ²νΈ)
κ³μ μ ν 릴λ μ΄μ (ν΄λ©΄λ²νΈ, νμλ²νΈ,μ΄λ¦, μ£Όμ, μ νλ²νΈ, μ£Όλ―Όλ±λ‘λ²νΈ, μ μ₯(ν€), λͺΈλ¬΄κ², νμ‘ν, μ±λ³, λΉλ°λ²νΈ)
β
β
μ΄ νλ‘κ·Έλ¨μ κΈ°λ₯μ λ€μκ³Ό κ°λ€.
β
μ μ₯ νλ‘μμ λ₯Ό μ΄μ©νμ¬ νμμ μ§λ£λ΄μ©μμ νΉμ μ§λ³μ λν νμλ€μ νκ· μ°λ Ήμ ꡬνμ¬ μΆλ ₯νλ κΈ°λ₯ μν (μ, "κ³ νμ" μ§λ£λ΄μ©μ κ°μ§ νμλ€μ νκ· μ°λ Ήμ κ³μ°νμ¬ μ§λ³λ΄μ© : κ³ νμ , νκ· μ°λ Ή : 43.2μΈ μ²λΌ μΆλ ₯)
β
1) μ²μΉμΌμ΄ 3λ μ΄μ κ°±μ λμ§ μμΌλ©΄ κ·Έ νμλ₯Ό ν΄λ©΄ν μ΄λΈ λ°μ΄ν°μ μ½μ νλ κΈ°λ₯ μν (μ, νμ ν μ΄λΈμ μ²μΉμΌμ΄ νμ¬λ‘λΆν° 3λ μ΄μ κ°±μ λμ§ μμ κ²½μ°, ν΄λ©΄ν μ΄λΈμ νμν μ΄λΈμ μ€ν€λ§κ° μ½μ λ¨.)
β
2) μ§λ£ν μ΄λΈμ΄ κ°±μ (μ½μ , μμ , λ³κ²½)λ λλ§λ€ κ·Έ κ°±μ λ΄μ©μ νμ-μ§λ£λ΄μ© ν μ΄λΈμ λ°μνλ κΈ°λ₯ μν (μ, μ§λ£ 릴λ μ΄μ μ μλ‘μ΄ μ§λ£λ²νΈκ° μΆκ°λ κ²½μ°, νμ-μ§λ£λ΄μ©μ νμλ²νΈμ μ§λ£λ΄μ©μ΄ λ°λ‘ κ°±μ λ¨.)
β
β
ALTER session set "_ORACLE_SCRIPT"=true;
DROP USER HOSPITAL CASCADE; -- κΈ°μ‘΄ μ¬μ©μ μμ (νμ¬ μ μλμ΄ μμΌλ©΄ μμ μ λ¨)
-- CASCADE option : κ΄λ ¨ μ€ν€λ§ κ°μ²΄λ€λ ν¨κ» μμ . Defaultλ No Action
CREATE USER HOSPITAL IDENTIFIED BY 1234 -- μ¬μ©μ ID : hmart, λΉλ°λ²νΈ : 1234
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
GRANT connect, resource, dba TO HOSPITAL;-- κΆν λΆμ¬
κ°κ°μ ν μ΄λΈμ μμ±νλ€.
create table μ§λ£κ³Ό(
κ³Όλ²νΈ INT NOT NULL,
κ³Όμ΄λ¦ VARCHAR(20) NOT NULL,
μ νλ²νΈ CHAR(20),
PRIMARY KEY(κ³Όλ²νΈ)
);
create table μμ¬(
μμ¬λ²νΈ INT NOT NULL,
μ΄λ¦ CHAR(10) NOT NULL,
μ νλ²νΈ CHAR(20),
μ£Όμ CHAR(10),
κ³Όλ²νΈ INT,
λΉλ°λ²νΈ varchar(40),
PRIMARY KEY(μμ¬λ²νΈ),
FOREIGN KEY(κ³Όλ²νΈ) REFERENCES μ§λ£κ³Ό(κ³Όλ²νΈ)
);
create table κ°νΈμ¬(
κ°νΈμ¬λ²νΈ INT NOT NULL,
μ΄λ¦ CHAR(10) NOT NULL,
μ νλ²νΈ CHAR(20),
μ£Όμ CHAR(10),
κ³Όλ²νΈ INT,
λΉλ°λ²νΈ varchar(40),
PRIMARY KEY (κ°νΈμ¬λ²νΈ),
FOREIGN KEY(κ³Όλ²νΈ) REFERENCES μ§λ£κ³Ό(κ³Όλ²νΈ)
);
create table νμ(
νμλ²νΈ INT NOT NULL,
μ΄λ¦ CHAR(10) NOT NULL,
μ νλ²νΈ CHAR(20),
μ£Όμ CHAR(10),
μ£Όλ―Όλ±λ‘λ²νΈ CHAR(20),
μ μ₯ NUMBER(5,1),
λͺΈλ¬΄κ² NUMBER(5,1),
νμ‘ν VARCHAR(4),
μ±λ³ CHAR(6),
μ²μΉμΌ DATE,
μ²μΉλ΄μ© VARCHAR(20),
κ°νΈμ¬λ²νΈ INT,
λΉλ°λ²νΈ varchar(40),
PRIMARY KEY (νμλ²νΈ),
FOREIGN KEY(κ°νΈμ¬λ²νΈ) REFERENCES κ°νΈμ¬(κ°νΈμ¬λ²νΈ),
CHECK (νμ‘ν IN ('A','B','O','AB'))
);
create table μ§λ£(
μ§λ£λ²νΈ INT NOT NULL,
μ§λ£μΌ DATE,
μμ¬λ²νΈ INT,
νμλ²νΈ INT,
μ§λ£λ΄μ© VARCHAR2(20),
PRIMARY KEY(μ§λ£λ²νΈ, μμ¬λ²νΈ, νμλ²νΈ),
FOREIGN KEY(μμ¬λ²νΈ) REFERENCES μμ¬(μμ¬λ²νΈ) ON DELETE CASCADE,
FOREIGN KEY(νμλ²νΈ) REFERENCES νμ(νμλ²νΈ) ON DELETE CASCADE
);
create table μ
μ(
μ
μμΌ DATE NOT NULL,
ν΄μμΌ DATE,
μ
μμ€ INT,
νμλ²νΈ INT,
PRIMARY KEY(νμλ²νΈ, μ
μμΌ),
FOREIGN KEY(νμλ²νΈ) REFERENCES νμ(νμλ²νΈ) ON DELETE CASCADE
);
create table μ§λ£λ΄μ©(
μ§λ£λ΄μ© VARCHAR(20) NOT NULL,
νμλ²νΈ INT,
PRIMARY KEY(μ§λ£λ΄μ©, νμλ²νΈ),
FOREIGN KEY(νμλ²νΈ) REFERENCES νμ(νμλ²νΈ) ON DELETE CASCADE
);
create table κ΄λ¦¬μ(
μμ΄λ varchar(20),
λΉλ°λ²νΈ varchar(40),
primary key(μμ΄λ)
);
create table μμ½(
νμλ²νΈ INT,
μμ½λ²νΈ INT,
μμ½μΌ DATE,
μμ½λ΄μ© varchar(20),
μμ¬λ²νΈ int,
primary key(νμλ²νΈ,μμ½λ²νΈ),
FOREIGN KEY(μμ¬λ²νΈ) REFERENCES μμ¬(μμ¬λ²νΈ) ON DELETE CASCADE,
FOREIGN KEY(νμλ²νΈ) REFERENCES νμ(νμλ²νΈ) ON DELETE CASCADE
);
create table ν΄λ©΄κ³μ (
νμλ²νΈ INT NOT NULL,
μ΄λ¦ CHAR(10) NOT NULL,
μ νλ²νΈ CHAR(20),
μ£Όμ CHAR(10),
μ£Όλ―Όλ±λ‘λ²νΈ CHAR(20),
μ μ₯ NUMBER(5,1),
λͺΈλ¬΄κ² NUMBER(5,1),
νμ‘ν VARCHAR(4),
μ±λ³ CHAR(6),
μ²μΉμΌ DATE,
μ²μΉλ΄μ© VARCHAR(20),
κ°νΈμ¬λ²νΈ INT,
λΉλ°λ²νΈ varchar(40),
CHECK (νμ‘ν IN ('A','B','O','AB')),
ν΄λ©΄λ²νΈ INT NOT NULL,
PRIMARY KEY (ν΄λ©΄λ²νΈ)
);
κ³μ λ‘κ·ΈμΈμ μνμ¬ λΉλ°λ²νΈλ₯Ό μΆκ°νμκ³ ,
κ°κ°μ λ°μ΄ν°λ₯Ό μΆκ°νλ€.
Insert INTO κ΄λ¦¬μ(μμ΄λ, λΉλ°λ²νΈ) values ('admin','admin');
μμ½λ²νΈλ₯Ό μν sequenceλ₯Ό μμ±ν΄μ€λ€. 1λΆν° μμνλ©°, 1μ© μ¦κ°λλ€.
CREATE SEQUENCE μμ½λ²νΈ --μνμ€μ΄λ¦ EX_SEQ
INCREMENT BY 1 --μ¦κ°μ«μ 1
START WITH 1;
μ¬μ©λ μ μ₯ νλ‘μμ λ λ€μκ³Ό κ°λ€.
--μ£Όλ―Όλ²νΈλ‘ λμ΄κ΅¬νλ μ΄ μΆκ°νκΈ°--
alter table νμ add λμ΄ NUMBER;
create or replace PROCEDURE SPC_AGE AS
V_νμλ²νΈ NUMBER;
V_λμ΄ NUMBER :=0;
V_μ£Όλ―Όλ±λ‘λ²νΈ CHAR(20);
CURSOR C IS select νμλ²νΈ, λμ΄, μ£Όλ―Όλ±λ‘λ²νΈ from νμ;
BEGIN
open c;
Loop
Fetch c into V_νμλ²νΈ, V_λμ΄, V_μ£Όλ―Όλ±λ‘λ²νΈ;
EXIT when c%NOTFOUND;
SELECT μ£Όλ―Όλ±λ‘λ²νΈ into V_μ£Όλ―Όλ±λ‘λ²νΈ FROM νμ where νμλ²νΈ=V_νμλ²νΈ;
IF SUBSTR(V_μ£Όλ―Όλ±λ‘λ²νΈ,8,1)='1' or SUBSTR(V_μ£Όλ―Όλ±λ‘λ²νΈ,8,1)='2' THEN
BEGIN
V_λμ΄:=EXTRACT(YEAR FROM SYSDATE)-TO_NUMBER('19' || SUBSTR(V_μ£Όλ―Όλ±λ‘λ²νΈ,1,2)) +1;
update νμ set λμ΄=V_λμ΄ Where νμλ²νΈ=V_νμλ²νΈ;
END;
ELSE
BEGIN
V_λμ΄:=EXTRACT(YEAR FROM SYSDATE)-TO_NUMBER('20' || SUBSTR(V_μ£Όλ―Όλ±λ‘λ²νΈ,1,2)) +1;
update νμ set λμ΄=V_λμ΄ Where νμλ²νΈ=V_νμλ²νΈ;
END;
END IF;
END LOOP;
CLOSE C;
END;
SET SERVEROUTPUT ON;
EXECUTE SPC_AGE();
SPC_AGE νλ‘μμ λ ‘νμ’ ν μ΄λΈμ μ£Όλ―Όλ±λ‘λ²νΈλ₯Ό μ΄μ©νμ¬ νμμ λμ΄λ₯Ό κ³μ°νλ νλ‘μμ μ΄λ€.
β
alter table νμ add λμ΄ NUMBER;λ₯Ό μ΄μ©νμ¬ νμ ν μ΄λΈμ μλ‘μ΄ λμ΄ μ»¬λΌμ μΆκ°νμ¬
μ£Όλ―Όλ±λ‘λ²νΈ 8λ²μ§Έκ° 1 λλ 2μ΄λ©΄ 2000λ μ΄μ μ΄λ―λ‘
μ£Όλ―Όλ±λ‘λ²νΈ μ λμλ¦¬μΈ μ°λμ 19λ₯Ό λΆμ¬ λμ΄λ₯Ό νμ¬ 2021λ λμμ λΊ ν +1μ λνμ¬ κ΅¬νλ€.
β
ELSEλ 8λ²μ§Έκ° 3 λλ 4μΈ 2000λ μ΄νλ₯Ό λ§νλ―λ‘ μ£Όλ―Όλ±λ‘λ²νΈ μ λμ리λ₯Ό 20κ³Ό ν©μ³ νμ¬ λ λμμ λμ΄λ₯Ό ꡬνλ νλ‘μμ μ΄λ€.
β
CREATE OR REPLACE NONEDITIONABLE PROCEDURE sp_νκ· (AVGs out SYS_REFCURSOR) AS
BEGIN
open AVGs for
SELECT μ§λ£λ΄μ©, AVG(νμ.λμ΄) as νκ· λμ΄ FROM νμ, μ§λ£λ΄μ© WEHRE μ§λ£λ΄μ©.νμλ²νΈ=νμ.νμλ²νΈ GROUP BY μ§λ£λ΄μ©;
END;
SP_νκ· νλ‘μμ λ μ 체μ μ§λ£λ΄μ©μ λν νμλ€μ νκ· λμ΄λ₯Ό ꡬνλ κΈ°λ₯μ μννλ€.
β
cursorμ ν΅νμ¬ μ¬λ¬ νμ 리ν΄ν΄μ£Όλ©°, JDBCμμ callablestatementλ₯Ό ν΅νμ¬ ν΅κ³λ₯Ό μΆλ ₯ν λ μ¬μ©νλ€.
β
group byλ₯Ό μ΄μ©νμ¬ μ§λ£λ΄μ©μ κ·Έλ£ΉμΌλ‘ μ§λ£λ΄μ©κ³Ό νμμ νκ· λμ΄λ₯Ό ꡬνλ νλ‘μμ λ€.
μ¬μ©λ νΈλ¦¬κ±°λ λ€μκ³Ό κ°λ€.
create or replace NONEDITIONABLE trigger T_treat
after insert or delete or update
on μ§λ£
for each row
BEGIN
if inserting then
insert into μ§λ£λ΄μ©(μ§λ£λ΄μ©, νμλ²νΈ) values(:NEW.μ§λ£λ΄μ©, :NEW.νμλ²νΈ);
elsif deleting then
delete from μ§λ£λ΄μ© where μ§λ£λ΄μ©.νμλ²νΈ=:OLD.νμλ²νΈ;
elsif updating then
update μ§λ£λ΄μ© set μ§λ£λ΄μ©.νμλ²νΈ=:NEW.νμλ²νΈ where μ§λ£λ΄μ©.νμλ²νΈ=:OLD.νμλ²νΈ;
update μ§λ£λ΄μ© set μ§λ£λ΄μ©.μ§λ£λ΄μ©=:NEW.μ§λ£λ΄μ© where μ§λ£λ΄μ©.νμλ²νΈ=:OLD.νμλ²νΈ;
END IF;
END T_treat;
insert into μ§λ£(μ§λ£λ²νΈ, μ§λ£μΌ, μμ¬λ²νΈ, νμλ²νΈ, μ§λ£λ΄μ©) values (700,'2021-12-02',21, 100, 'λμ‘Έμ¦');
delete from μ§λ£ where νμλ²νΈ=100 and μ§λ£λ΄μ©='λμ‘Έμ¦' and μ§λ£λ²νΈ=700;
βT_treat νΈλ¦¬κ±°λ μ§λ£ν μ΄λΈμ΄ κ°±μ λ λλ§λ€ κ·Έ κ°±μ λ΄μ©μ μ§λ£λ΄μ© ν μ΄λΈμ λ°μνλ
κΈ°λ₯μ μννλ νΈλ¦¬κ±°μ΄λ€.
--ν΄λ©΄κ³μ λ§λλ νΈλ¦¬κ±°--
create sequence ν΄λ©΄seq;
create or replace trigger T_ν΄λ©΄κ³μ
after delete on νμ
for each row
begin
insert into ν΄λ©΄κ³μ values(:OLD.νμλ²νΈ, :OLD.μ΄λ¦, :OLD.μ νλ²νΈ, :OLD.μ£Όμ, :OLD.μ£Όλ―Όλ±λ‘λ²νΈ, :OLD.μ μ₯, :OLD.λͺΈλ¬΄κ², :OLD.νμ‘ν,:OLD.μ±λ³, :OLD.μ²μΉμΌ, :OLD.μ²μΉλ΄μ©, :OLD.κ°νΈμ¬λ²νΈ, :OLD.λΉλ°λ²νΈ, ν΄λ©΄seq.nextval);
end T_ν΄λ©΄κ³μ ;
--3λ
μ΄νλ‘ μ§λ£μΌ κ°±μ μλ νμλ ν΄λ©΄κ³μ μΌλ‘ μ ν
DELETE FROM νμ
where exists (select μ§λ£.νμλ²νΈ
from μ§λ£
where νμ.νμλ²νΈ=μ§λ£.μ§λ£λ²νΈ and μ§λ£.μ§λ£μΌ < ADD_MONTHS(SYSDATE, -36));
T_ν΄λ©΄κ³μ νΈλ¦¬κ±°λ μ²μΉμΌμ΄ 3λ μ΄μ κ°±μ λμ§ μμΌλ©΄
κ·Έ νμλ₯Ό ν΄λ©΄ν μ΄λΈ λ°μ΄ν°μ μ½μ νλ κΈ°λ₯μ μννλ€.
β
μμ ν΄λ©΄κ³μ ν μ΄λΈμ μμ§ deleteλ¬Έμ μ€ννκΈ° μ μ΄λ©°,
DELETE FROM νμ where νμ.μ²μΉμΌ < ADD_MONTHS(SYSDATE, -36)μ μ€ννλ©΄,
μ²μΉμΌμ΄μ΄ 3λ μ΄μ κ°±μ λμ§ μμ νμλ₯Ό ν΄λ©΄κ³μ μΌλ‘ μ ννλ νΈλ¦¬κ±°μ΄λ€.
β
create sequence ν΄λ©΄seq;λ₯Ό μ€ννμ¬ λ―Έλ¦¬ ν΄λ©΄ κ³μ μ μνμ€λ₯Ό λ§λ€μ΄λλ€.
2023.01.02 - [νλ‘μ νΈ/DB] - [DB] λ³μ κ΄λ¦¬ νλ‘κ·Έλ¨ (1)
[DB] λ³μ κ΄λ¦¬ νλ‘κ·Έλ¨ (1)
2021.05.11.-2021.06.08. β Oracle DBMSλ₯Ό μ¬μ©ν λ³μ λ°μ΄ν°λ² μ΄μ€μ΄λ€. β μ΄λ₯Ό ν΅ν΄ λ³μμ μλ λͺ¨λ μμ¬λ€ λ° κ°νΈμ¬λ€μ λ°μ΄ν°λ₯Ό νμΈν μ μμΌλ©°, λ΄λΉνλ μ§λ£κ³Όλ₯Ό νμΈν μ μλ€. β λν,
dangsdangs.tistory.com
'νλ‘μ νΈ > DB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [DB] λ³μ κ΄λ¦¬ νλ‘κ·Έλ¨ (1) (1) | 2023.01.02 |
|---|