본문 바로가기

ORACLE5

[ORACLE] 오라클 기본키 조회 하기 --제약조건을 조회하는 쿼리 SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, TABLE_NAME, A.* FROM ALL_CONSTRAINTS A WHERE TABLE_NAME = '테이블명' --컬럼별 제약조건을 조회하는 쿼리 SELECT * FROM ALL_CONS_COLUMNS WHERE CONSTRAINT_NAME = '제약조건명' --위 두 쿼리를 조합하여 사용 --컬럼별 제약조건을 조회하는데 제약조건 타입이 PK인 제약조건명으로 조회 SELECT * FROM ALL_CONS_COLUMNS WHERE CONSTRAINT_NAME = ( SELECT CONSTRAINT_NAME FROM ALL_CONSTRAINTS WHERE TABLE_NAME = '테이블명' AND CO.. 2021. 6. 4.
[ORACLE] oracle decode 와 case when 오늘은 여러가지 경우에 선택할 수 있는 기능을 제공해주는 oracle 선택함수에 대해 포스팅한다. --주민등록번호를 통해 남자는 '남', 여자는 '여'로 나타낼때 다음과 같이 사용할 수 있다. SELECT CTM_ID, CTM_NAME, CTM_NO, DECODE(SUBSTR(CTM_NO, 8, 1), '1', '남', '2', '여') FROM CUSTOMER; --마지막 인자로 조건값을 안주고 작성하면 --아무것도 해당하지 않을 때 마지막에 작성한 선택값이 DEFAULT값이 된다. SELECT CTM_ID, CTM_NAME, CTM_NO, DECODE(SUBSTR(CTM_NO, 8, 1), '1', '남', '여') FROM CUSTOMER; --가입한 요금제가 'P1'인 고객은 20% 할인 --'G.. 2020. 8. 26.
[ORACLE] MERGE INTO 로 UPDATE INSERT 하기 오늘 일 하다가 쿼리하나를 짰는데 유용한듯하여 정리할 겸 포스팅한다. 업무를 하다보면 다른 DB에 데이터가 존재하면 UPDATE, 존재하지 않으면 INSERT 해야하는 경우가 종종 있다. 그동안은 건수가 적어서 자료를 하나씩 대사해서 UPDATE 쿼리를 날렸지만, 오늘은 건수가 많아서 MERGE INTO 문을 작성해서 수행해보았다. 내가 수행한 쿼리는 업무를 위해 수행한것이므로 비밀이고.. 예시를 들기위해 상황을 가정해보자.(가정이니까 정규화, 모델링 배제) ※가정) 모든직원 테이블과 A부서직원 테이블이 있다. A부서에 신규사원이 들어왔는데 A부서가 인사팀에 얘기를 안해서 모든직원 테이블에 정보가 입력이 안되어있고 심지어 A부서 몇몇직원은 전화번호가 누락되어있다. 이때, 모든직원의 전화번호에 A부서직원의.. 2020. 3. 24.
[ORACLE] oracle insert 여러개하기 일을하다가 다중행을 insert할 일이 생겼다. (insert-select말고...) 일일히 insert하면 되지만 더 효율적인 방법이 없을까 고민하다가 쿼리를 만들어서 날렸다. INSERT INTO table (column1, column2, ...) VALUES (value1, value2, ...), (value1, value2, ...); 야심차게 실행했으나 미완성 쿼리문이라고 에러가났다. 이거저거 찾아보다가 2가지 방법을 알아냈다. 내가쓰기위해 정리하는 글이다. 첫번째 방법 : INSERT ALL INTO table(column1, column2, ...) VALUES (value1, value2, ...) INTO table(column1, column2, ...) VALUES (value1,.. 2020. 2. 20.
[ORACLE] 정규표현식 REGEXP_LIKE REGEXP_LIKE - LIKE 연산자와 유사하며, 특정 문자 조합을 다양한 패턴으로 대응시키기 위해 사용된다. - 잘만 활용하면 LIKE를 여러번 쓰지않고 복잡한 조건식을 사용하지 않아도 된다. --특정 문자를 포함하는 결과 출력 --[A-Z] : 대문자 알파벳. --[a-z] : 소문자 알파벳. SELECT * FROM STUDENT WHERE REGEXP_LIKE(NAME, '[A-Z]') --한글 가능 SELECT * FROM STUDENT WHERE REGEXP_LIKE(NAME, '[가-하]') --숫자 가능 SELECT * FROM STUDENT WHERE REGEXP_LIKE(NAME, '[0-9]') --대문자 알파벳으로 시작하는 결과 출력 SELECT * FROM STUDENT WHE.. 2019. 12. 3.