본문 바로가기
반응형

개발/Oracle13

Oracle - Procedure 사용하기 Procedure 란데이터베이스(DB) 에 일련의 작업을 정리한 절차를 관계형 데이터베이스 관리 시스템에 저장한 것을 말한다  Procedure 생성하기CREATE OR REPLACE PROCEDURE 프로시저명( -- 매개변수를 사용하지 않기도 한다 -- 변수 IN 변수타입 -- IN 으로 입력만 받는다 -- 변수 OUT 변수타입 -- OUT 으로 출력만 한다 -- 변수 IN OUT 변수타입 -- IN OUT 입력받고 출력한다) IS -- 지역변수 선언 BEGIN -- 실행할 PL/SQL 문 EXCEPTION -- 예외 처리 문 END -- 프로시저명  CREATE OR REPLACE PROCEDURE TEST_01( NUM1 IN NUMBER, NUM2 IN NUMBE.. 2024. 11. 27.
Oracle - Sequence 사용하기 Sequence 는 고유의 숫자값을 자동으로 증가 또는 감소 하는 값을 생성하는 데이터베이스 객체다 Sequence 로 생성된 값은 고유한 값으로 중복되지 않고,동시에 값을 요청해도 중복되지 않는 값을 제공한다는 장점을 가지고 있다   Sequence 생성하기CREATE SEQUENCE TEST_SEQ -- 시퀀스명 INCREMENT BY 1 -- 양수로 설정하면 증가 또는 음수로 설정하면 감소 값으로 DEFAULT 는 1 이다 -- 1이면 1씩 증가 , -1이면 1씩 감소 // 2면 2씩 증가 , -2면 2씩 감소 ..... START WITH 1 -- 시퀀스가 시작하는 초기값으로 DEFAULT 는.. 2024. 11. 26.
Oracle - NVL , NVL2 함수 사용 NVL 함수는 대상 '컬럼'에 값이 null 일 경우 다른 값으로 변환해주는 함수다NVL2 함수는 첫 번째 인수가 null 이 아니면 두 번째 인수를, null 이라면 세 번째 인수를 반환한다예) NVLSELECT A , NVL(B , 0) FROM DUAL예) NVL2SELECT A , NVL2(B , 'null 이 아닐때' , 'null 일때') FROM DUAL- SELECT 1 , NVL2(2 , 'null 이 아닐때' , 'null 일때') FROM DUAL   문제는 데이터 자체가 조회가 안될 때 값을 표현해야 할 때가 있다예) NVLSELECT A , NVL(MAX(B) , 0) FROM DUALSELECT A , NVL(MIN(B) , 0) FROM DUALMAX 또는 MIX을 사용하면 임.. 2024. 9. 26.
Oracle - 계층형 쿼리 생성CREATE TABLE MENU(ID NUMBER PRIMARY KEY,PARENT_ID NUMBER , NAME VARCHAR2(20),ORD NUMBER,ICON VARCHAR2(50))    부모 추가-- 부모INSERT INTO MENU( ID, PARENT_ID, NAME, ORD, ICON)VALUES( (SELECT NVL(MAX(ID), 0) +1 AS ID FROM MENU), 0, '설정', (SELECT NVL(MAX(ORD), 0) +1 AS ORD FROM MENU WHERE PARENT_ID = 0), 'fas fa-fw fa-wrench')INSERT INTO MENU( ID, PARENT_ID, NAME, ORD, ICON)VALUES( (SELE.. 2024. 7. 31.
Oracle - INTERSECT INTERSECT 란? SELECT에 대해 교집한 연산을 한다. 두 SELECT 문의 컬럼 수와 데이터 타입이 같아야 한다. SELECT NAME, ID FROM MEMBERS INTERSECT SELECT NAME, ID, FROM TEST_MEMBERS or SELECT NAME, ID FROM MEMBERS WHERE NAME = 'A' INTERSECT SELECT NAME, ID, FROM MEMBERS WHERE NAME = 'B' A테이블과 B 테이블에서 중복된 값을 출력함 A테이블과 A테이블로 조건문을 줘서 각각 중복되는 값을 검색 할 수 도 있음 2023. 3. 23.
[DBeaver] Oracle - LEFT , RIGHT Join LEFT JOIN LEFT JOIN은 왼쪽 TABLE 의 데이터를 모두 가져오고 ON 조건문에 일치하는 데이터는 출력되지만 일치 하지않거나 존재하지 않는 데이터는 모두 NULL값으로 출력된다. MEMBER TABLE의 모든 데이터는 출력 됐고 조건문에 DEPT TABLE의 부서번호 100을 주었기 때문에 100에 해당 하지 않는 MEMBER 데이터는 NULL 처리가 된 것을 볼 수 있다. RIGHT JOIN RIGHT JOIN은 오른쪽 TABLE의 데이터를 모두 가져오고 ON 조건문에 일치하는 데이터는 출력되지만 일치 하지않거나 존재하지 않는 데이터는 모두 NULL값으로 출력된다. DEPT TABLE의 모든 데이터는 출력 됐고 조건문에 DEPT TABLE의 부서번호 100을 주었기 때문에 100에 해당 .. 2023. 3. 19.
반응형