oracle(26)
-
251118 TIL
문제직무별 급여 유효성 검사 트리거테이블 초기화-- 테이블 초기화DROP TABLE hr.emp PURGE;CREATE TABLE hr.empASSELECT employee_id, salary, job_idFROM hr.employees;익명 블록-- 익명 블록DECLARE v_min number; v_max number;BEGIN SELECT min_salary min, max_salary max INTO v_min, v_max FROM hr.jobs WHERE job_id = :b_job; IF :b_sal NOT BETWEEN v_min AND v_max THEN RAISE_APPLICATION_ERROR(-20000, '급여는 ' || v_min ..
2025.11.18 -
251117 TIL
TRIGGER(Cont.)DML 작업 복제테이블 생성-- source 테이블CREATE TABLE hr.emp_target(id number,name varchar2(30),day timestamp default systimestamp,sal number)TABLESPACE users;-- target 테이블CREATE TABLE hr.emp_source(id number,name varchar2(30),day timestamp default systimestamp,sal number)TABLESPACE users;트리거 생성CREATE OR REPLACE TRIGGER emp_copy_triggerAFTERINSERT OR DELETE OR UPDATE ON hr.emp_sourceFOR EACH RO..
2025.11.17 -
Docker로 Oracle DB 컨테이너 실행하기
Oracle 21C XE 버전도커 이미지 가져오기docker pull container-registry.oracle.com/database/express:21.3.0-xe도커 컨테이너 실행docker run -d \ --name oracle-xe \ -p 1522:1521 -p 5501:5500 \ -e ORACLE_PWD=oracle \ -v D:\oracle-xe-data:/opt/oracle/oradata \ container-registry.oracle.com/database/express:21.3.0-xeSQL*Plus로 접속docker exec -it oracle-xe sqlplus / as sysdbaSQLDeveloper로 접속Oracle 21C EE 버전Oracle Contain..
2025.11.16 -
251114 TIL
PACKAGE(Cont.)상수 표준화CREATE OR REPLACE PACKAGE global_constsIS c_mile_2_kilo constant number := 1.6093; c_kilo_2_mile constant number := 0.6214; c_yard_2_meter constant number := 0.9144; c_metter_2_yard constant number := 1.0936;END;/exec dbms_output.put_line('20 mile = ' || 20 * global_consts.c_mile_2_kilo || 'km')exec dbms_output.put_line('20 kilo = ' || 20 * global_consts.c_kilo_2_..
2025.11.14 -
251113 TIL
문제-- [문제17] get_annual_sal 함수를 생성해주세요.SELECT employee_id, salary, commission_pct, salary * 12 + salary * 12 * commission_pct annual_salary_1, salary * 12 + salary * 12 * nvl(commission_pct, 0)commission_pct_annual_salary_2, get_annual_sal(salary, commission_pct) annual_salary_3, get_annual_sal(sal=>salary, comm=>commission_pct) annual_salary_4, get_annual_sal(sal=>salary)..
2025.11.13 -
251112 TIL
문제-- [문제16] 사원번호를 입력값으로 받아서 그 사원의 이름, 급여, 부서이름을 출력하는 프로시저를 생성하세요. -- 단 100번 사원이 입력값으로 들어오면 프로그램은 종료 할 수 있도록 작성해주세요.CREATE OR REPLACE PROCEDURE emp_proc(p_id IN number)IS TYPE rec_type IS RECORD( name employees.last_name%type, sal employees.salary%type, dept_name departments.department_name%type ); v_rec rec_type; eos EXCEPTION;BEGIN IF p_id = 100 THEN R..
2025.11.12