[오라클]/PL-SQL 5

[PL/SQL] TRIGGER

TRIGGER 란? - 어떤 테이블에 dml이 발생했을때 자동으로 실행되는 프로그램 (before 트리거, after 트리거) 테이블 생성 CREATE TABLE panmae_table ( ID NUMBER(3), dan NUMBER(5), soo NUMBER(5) ); --dan: 단가, soo: 수량 INSERT INTO panmae_table VALUES (1,1000,200); INSERT INTO panmae_table VALUES (2,500,50); SELECT * FROM panmae_table; --금액 테이블 CREATE TABLE keum_table ( ID NUMBER(3), keum NUMBER(10) ); INSERT INTO keum_table VALUES (1,200000);..

[오라클]/PL-SQL 2020.12.25

[PL/SQL] PROCEDURE

1. PROCEDURE - 여러개 값 반환 가능 - 반환값이 없어도 됨 - 반환할때 return이 아닌 out 사용, return은 강제 종료를 의미 - procedure 에서 return 할려면 out 사용후 정의문, 호출문 따로 만들어서 사용(begin end 두개 사용) Q) 지구 몸무게를 입력하면 달 몸무게를 출력하는 프로시져 만들기 SET SERVEROUTPUT ON CREATE OR REPLACE PROCEDURE moon_pro(v_earth IN NUMBER) IS v_moon NUMBER; BEGIN v_moon := v_earth*(1/6); dbms_output.put_line('달몸무게='||v_moon); END; / EXEC moon_pro(70); 결과: 달몸무게=11.6666..

[오라클]/PL-SQL 2020.12.24

[PL/SQL] Anonymous Block

sql에서 출력하는 옵션 SET SERVEROUTPUT ON 1) Anonymous 블럭 - 이름 없이 일회용으로 수행되는 블럭, 컴파일과 실행이 같이 됨 SET SERVEROUTPUT ON DECLARE --블록 시작 aa NUMBER; --변수 선언 BEGIN aa:=78; dbms_output.put_line('aa='||aa); --출력 명령어 END; / sql plus에서 save [파일명]: 마지막 입력한 sql문장 파일로 저장 start [파일명].sql, @[파일명].sql, run [파일명].sql : sql 파일 실행 해당 sql 파일 실행시마다 Anonymous 블럭이 실행됨 Q)초기치로 id에 10, irum 에 hong 성별에 M 입사일에 오늘날짜를 넣어 출력하는 익명 블록을 작..

[오라클]/PL-SQL 2020.12.24

[PL/SQL] FUNCTION

1) FUNCTION 특징 - 반드시 하나의 반환값이 존재해야됨 2) 구조: CREATE OR REPLACE FUNCTION [함수명]([매개변수명] IN [매개변수 타입]) RETURN [반환타입] IS [변수명] [변수타입]; BEGIN [실행 로직] RETURN [변수명]; END; / 예시: 밑변과 높이를 입력하면 삼각형 넓이가 반환되는 함수 CREATE OR REPLACE FUNCTION Nulbi(v_mit IN NUMBER, v_nopi IN NUMBER) --외부에서 들어오는 매개변수 RETURN NUMBER --function은 무조건 return 있어야됨 IS --이 함수 내에서 사용할 변수 v_nulbi NUMBER; BEGIN --실제 함수 시작 v_nulbi := (v_mit * ..

[오라클]/PL-SQL 2020.12.24

[PL/SQL] PL/SQL란?

오라클사가 만든 절차적 언어 pl : procedure language sql: structured query language sql + 절차적 프로그래밍 ### pl/sql 프로그램의 종류 -procedure, function, trigger -procedure: 0 혹은 한개 이상의 값 반환 가능 (반환시 return문 사용 X, procedure에서 return은 강제 종료를 의미) procedure 에서 return 할려면 out 사용후 정의문, 호출문 따로 만들어서 사용(begin end 두개 사용) -function: 반드시 하나의 return value가 존재해야 한다 -trigger: 자동실행 ### pl/sql 프로그램 작성방법 - pl/sql block 은 DECLARE, BEGIN, ..

[오라클]/PL-SQL 2020.12.24