Backend

    7장. 트리거

    7장. 트리거

    트리거 테이블 or 뷰에 변경연산이 실행되면 연동되어 실행되는 프로그램 변경연산(Insert, Delete, Update) 시 자동실행. 논리적 무결성을 지원함 [트리거의 형식] CREATE [or replace] TRIGGER 트리거이름 {Before | After | Instead Of } { Insert | Delete | Update } [ OF 컬럼 ] ON 테이블or뷰 [FOR EACH ROW] ==> 행 트리거가 된다 BEGIN PL/SQL Statements ... ... -- 상태확인 변수 : Updating, Deleting, Inserting END; 트리거는 Background Process임. 생성하면 그 때부터 시스템 부하가 증가함 불필요한 트리거는 삭제하는 것이 좋음 트리거에서..

    6장.  함수와 저장프로시저

    6장. 함수와 저장프로시저

    CREATE OR REPLACE FUNCTION 이름 ( 파라미터 ) -- 파라미터가 없으면 ( )도 생략 RETURN 반환값유형 AS 변수선언부 BEGIN PL/SQL Statements. ... RETURN 반환값 END; OR REPLACE : 함수를 변형하게 될 때 덮어쓰기를 할 수 있다 CREATE OR REPLACE FUNCTION F_Add(a number, b number) RETURN NUMBER AS Total NUMBER; BEGIN Total := a + b; RETURN Total; END; -- 함수 호출 1 : Prompt에서 호출 VAR result NUMBER; EXECUTE :result := F_Add(2020,35); -- EXECUTE 뒤의 문장은 무명프로시저로 봐야..

    5장. PL/SQL 기초

    ABS(n) : 절대값 ACOS(n) : 아크코사인 값 CEIL(n) : 크거나 같은 가장 작은 정수 반환(올림) FLOOR(n) : 버림 ROUND(n) : 반올림 EXP(n) : E의 n제곱을 반환 MOD(n1, n2) : n1을 n2로 나눈 나머지(floor기반) remainder – round 기반 나머지 NANVL(n1, n2) : n1이 ‘NaN’이 아니면 n1을, ‘NaN’이면 n2를 반환 POWER(n1, n2) : n1의 n2제곱값 SQRT(n) : 제곱근 TRUNC(n1, n2) : 숫자 n1을 소수점 자리 파라미터 n2이하를 절삭 WIDTH_BUCKET : 동일한 넓이를 갖는 히스토그램 생성 CAST : 다양한 형식으로 변환 # 수식을 수치로 변환 SELECT AVG(수량) FROM ..

    4장. SQL - DML(추가)

    System Dictionary는 DBA 권한을 가진 ID가 이용할 수 있음 SELECT * FROM SYS.DBA_USERS; -- 모든 사용자(스키마) 출력 SELECT * FROM SYS.DBA_TAB_COLUMNS WHERE OWNER = 'HR' AND TABLE_NAME = 'EMPLOYEES'; ----// 타 스키마 구조 검색 select 주문고객, sum(수량) from 주문 group by rollup(주문고객); => 총합계 select 주문고객, 주문제품, sum(수량) from 주문 group by rollup(주문고객, 주문제품); => 소, 중, 총합계 select 주문고객, sum(수량), grouping_id(주문고객) ==> 그룹화한 ID를 표시 : 레벨값 출력 from ..

    SQL - DML

    SQL - DML

    학생 학과 수강 교수 교과목 강좌 ----// 기본SFW, LIKE, ORDER BY, 기본 조인 -- [질의 1] : 교수들의 이름과 재직년수를 검색하라. -- 힌트) select절의 산술식 SELECT 이름, (2020-임용년도) AS "재직년수" FROM 교수; -- [질의 2] : 학생 '박광수'의 소속 학과명을 검색하라.(조인이용) SELECT 학과.학과명 FROM 학생, 학과 WHERE 학생.학과번호 = 학과.학과번호 AND 학생.이름 = '박광수'; -- [질의 3] : 김모학생의 이름을 오름차순으로 출력하라. SELECT 이름 FROM 학생 WHERE 이름 LIKE '김%' ORDER BY 이름 ASC; ----// 집계함수, 부질의, 그룹, 집합연산 -- [질의 4] : 학번이 '0130..

    오라클 클라이언트

    오라클 클라이언트

    SQL *PLUS 초기부터 사용되는 기본적인 유틸리티 >>SQLPLUS hmart/111111@XE - SQL 수행가능(DDL, DML, DCL) - SQL *PLUS 명령어 수행가능(SQL 수행을 도와주는 명령어) - PL/SQL 수행가능 SQL *PLUS 명령어 분류 □ 명령어 편집/실행 > LIST, RUN, @, / 등 □ 파일 명령어 > EDIT, SAVE, SPOOL 등 □ DB 접속/종료 > CONNECT, HOST, EXIT 등 □ 환경 제어 > SET등 SQL> Help index -- SQL *PLUS 전용 LIST SQL> Help index; SQL> Help Describe -- 스키마 구조를 보여줌 SQL> Help DESC SQL> DESC 고객 -- 고객 table의 스키마 ..