보통 데이터를 처리할떄 데이터의 존재 여부를 확인(SELECT) 하고 해당 값이 없으면 삽입(INSERT) 하고 있으면 업데이트(UPDATE)를 하게 된다.MERGE INTO [TABLE / VIEW] -- UPDATE 또는 INSERT 할 테이블 혹은 뷰 USING[TABLE / VIEW / DUAL] -- 비교할 대상 테이블 혹은 뷰(위 테이블과 동일할 경우 DUAL을 사용) ON [조건] -- UPDATE 와 INSERT 처리할 조건문(조건이 일치하면 UPDATE / 불일치 시 INSERT) WHEN MATCHED THEN -- 일치하는 경우 UPDATE SET [COLUMN1] = [VALUE1], [COLUMN2] = [VALUE2], ..
DB/오라클
오라클 9i R2부터 WITH절을 사용할 수 있도록 기능이 추가되었다WITH 절은 임시 테이블 또는 가상 테이블이라고 생각하면 된다.반복되는 서브쿼리 블록을 하나의 WITH 절 블록으로 만들어서 사용하거나, 긴 문장의 서브 쿼리를 WITH절로 만들어서 SELECT문의 가독성을 높일 수 있다.WITH 절 사용법다중 WITH 절 사용법 (여러 개)WITH 절에 여러 개의 임시 테이블을 만들고 싶을 때는 쉼표(",")를 찍고 이어서 선언하면 된다.WITH emp_w1 AS( SELECT deptno , AVG(sal) AS sal_avg FROM emp GROUP BY deptno), emp_w2 AS ( SELECT job , AVG(sal) AS sal_avg FR..
https://school.programmers.co.kr/learn/courses/30/lessons/164670정답SELECT USER_ID , NICKNAME , (CITY || ' ' || STREET_ADDRESS1 || ' ' || STREET_ADDRESS2) AS 전체주소 , CASE WHEN LENGTH(TLNO) = 11 THEN SUBSTR(TLNO,0,3) || '-' || SUBSTR(TLNO,4,4) || '-' || SUBSTR(TLNO,8,4) END AS 전화번호FROM USED_GOODS_USERWHERE USER_ID IN ( SELECT B.USER_ID ..
서브쿼리 란?하나의 쿼리 문장 내에 포함된 또 하나의 쿼리 문장비교 연산자의 오른쪽에 기술해야 하고 반드시 괄호 안에 넣어야 함메인 쿼리가 실행되기 이전에 한 번만 실행 된다.SELECT절 서브쿼리Select 절 안에 서브쿼리가 있다반드시 단일 행 이나 sum,count 등의 집계 함수를 거친 단일 값으로 리턴되어야 한다.SELECT 학생이름, ( SELECT 학과.학과이름 FROM 학과 WHERE 학과.학과ID = 학생.학생ID ) AS 학과이름 FROM 학생 WHERE 학생이름 = '홍길동' ;FROM절 서브쿼리(인라인뷰 서브쿼리)인라인뷰(Inlibe Views) 라고 불리며 FROM절 안에 서브쿼리가 들어 있다.반드시 서브쿼리의 결과는 반드시 하나..
CONCAT 함수SELECT CONCAT(CONCAT(COUNTRY_ID, ' '), COUNTRY_NAME) FROM COUNTRIES;||SELECT COUNTRY_ID||' '||COUNTRY_NAME FROM COUNTRIES;
문법INSTR ( [문자열], [찾을 문자 값], [찾기를 시작할 위치(1,-1)], [찾은 결과의 순번(1...n)] )예시기본 사용법SELECT INSTR('Oracle Database', 'Database') AS result1 , INSTR('Oracle Database', 'Server') AS result2 FROM dual앞에서 검색SELECT INSTR('Oracle Database 12c Release', 'as', 1, 2) AS result1 FROM dualSELECT INSTR('Oracle Database 12c Release', 'as', 15) AS result1 FROM dual뒤에서 검색SELECT INSTR('Oracle Database 12c Relea..
오라클에서 문자열을 자를 때는 SUBSTR 함수를 사용한다.SELECT * FROM 테이블명OR뷰명 WHERE SUBSTR(컬럼명,시작위치, 길이) = 조건;출처https://gent.tistory.com/201
상단메뉴 > 보기(V) 클릭 > 코드조각(P) 클릭카테고리 추가사용자 코드 추가 편집 클릭+ 클릭범주, 이름, 도구 설명, 코드 조각 작성 > 적용 클릭확인하기코드조각 적용하기범주 선택하기코드조각 드래그하기
템플릿/create or replace FUNCTION FN_GETCAMEL(COLUMN_NAME IN VARCHAR2)RETURN VARCHAR2ISRSLT VARCHAR2(30);BEGIN--카멜표기로 변환(SITE_NUM -> siteNum)SELECT LOWER(SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),1,1))|| SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),2) INTO RSLTFROM DUAL;--리턴RETURN RSLT;END;/--구글 카멜변환(https://heavenly-appear.tistory.com/270)SELECT COLUMN_NAME, DATA_TYPE, CASE WHEN DATA_TYPE='NUMBER' THEN..
1.SQL Developer에서 삽입할 테이블의 구조 확인 컬럼명만 확인하면 된다 날짜 타입 쓸 때 형식 주의 2.컬럼명에 맞춰서 데이터 기입 컬럼명의 대문자는 오라클에서 오브젝트의 대소문자를 구분하지 않기 때문에 상관 없다 3.데이터 임포트 할 테이블에 마우스 우측 키 클릭 + 데이터 임포트 선택 4. 데이터 임포트할 파일 선택 엑셀파일 사용 가능한 열 : 제외할 데이터 컬럼 선택된 열 :임포트할 데이터 컬럼 주의사항 삽입하는 테이블에 insert 트리거가 걸려있는 경우 엑셀로 임포트하는 경우도 트리거에 걸리기 때문에 이를 잘 고려하여 에러가 나지 않도록 유효한 데이터 삽입 자동 커밋되므로 트랜잭션 관리 유의 삽입도중 특정 레코드에서 에러가 발생했을 경우 일단 삽입을 취소한 후 에러를 알아보고 한큐에 ..