오라클 CASE문 안에 SELECT문을 넣으면 오류가 나는 이유오라클에서 CASE문 안에 SELECT문을 넣다 보면 종종 오류가 나는 경우가 있습니다. 저도 처음엔 왜 그런지 헷갈렸는데, 몇 가지 대표적인 이유가 있더라고요. 아래에서 정리해봅니다.1. SELECT 결과가 여러 행일 때CASE 안에 들어가는 SELECT는 무조건 한 개의 값(스칼라)만 나와야 합니다. 만약 여러 행이나 여러 컬럼을 반환하면 바로 에러가 납니다.SELECT CASE WHEN deptno = 10 THEN (SELECT ename FROM emp) ELSE 'OTHERS' ENDFROM dual;이 경우에는 ROWNUM = 1 같은 조건을 붙여서 한 건만 나오게 해주면..
ORACLE 검색 결과
📌 오라클 JSON 변환 완벽 가이드데이터베이스를 다루다 보면 JSON 형식으로 데이터를 주고받아야 할 때가 많습니다. 특히 오라클(Oracle Database)에서는 SQL과 PL/SQL에서 JSON을 다룰 수 있는 다양한 기능을 제공하고 있는데요, 오늘은 SQL 결과를 JSON으로 변환하는 방법과 JSON 데이터를 SQL에서 활용하는 방법을 정리해 보겠습니다. 🚀✅ 1. SQL 결과를 JSON으로 변환하기1-1. 단일 행 → JSON 객체 (JSON_OBJECT)예를 들어 사원 테이블(emp)에서 특정 사원의 정보를 JSON으로 보고 싶다면:SELECT JSON_OBJECT( 'empno' VALUE empno, 'ename' VALUE ename, ..
오라클에서는 병렬처리로 SQL문을 빠르게 처리할 수 있는 방법이 있습니다 그 방법으로는 여러 튜닝방법이 있겠지만 간단하게 Parallel 처리인 병렬처리가 존재합니다 간단하게 사용방법으로는 1 2 SELECT /*+ parallel(4) */ * FROM 테이블명; cs SQL문 앞에 /*+ parallel(4) */ 힌트를 주게 되면 여기서 4라는 숫자는 4개의 프로세스가 병렬적으로 실행한다는 뜻입니다. 쉽게 말해서 속도는 4배가 된는겁니다. 하지만 이 병렬처리를 사용하게 되면 시스템적으로 부하가 많이되니 최대 8개 정도로만 잡고 사용하는 것을 권장합니다. SELECT 절뿐만 아니라 INSERT, UPDATE, DELETE 문 등 모두 사용 가능합니다
이번 포스팅 주제는 유저별 테이블 비교입니다. 저는 개발환경과 운영환경의 테이블 비교 할 때 주로 씁니다. 1 2 3 4 5 SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH FROM COLS@비교 할 링크 MINUS SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, DATA_LENGTH FROM COLS; Colored by Color Scripter cs 현재 운영DB로 접근하였을 때 @비교 할 링크에 개발DB 유저를 써주면 환경별 상이한 내용을 찾을 수 있습니다.
PL/SQL DEVELOPER 환경설정 방법 설정 설정 방법 1 세미콜론(;) 단위로 실행 Tool > Preferences > Window Types > SQL Window > AutoSelect statement 체크 2 키워드 대문자 변경 Tool > Preferences > User Interface > Editor > Syntax Highlighting > Keyword case [Uppercase] 변경 3 라인번호 표시 Tool > Preferences > Window Types > SQL Window > Show gutter (line numbers) 체크 4 NULL(널) 값 색 지정 Tool > Preferences > Window Types > SQL Window > Null valu..