The LISTAGG syntax is: LISTAGG ( measure_expr [, delimiter]) WITHIN GROUP (order_by_clause) [OVER query_partition_clause] LISTAGG Parameters There are several mandatory and optional parameters in the LISTAGG function. The parameters of the LISTAGG function are: measure_expr (mandatory): This is the column (or expression) that you wish to concatenate the values of. In the example above, I used la..
오라클에서는 VARCHAR2 타입으로 최대 4000 byte 까지만 저장할 수 있습니다. 4000 byte가 넘는 문자열을 저장하기 위해서는 CLOB 타입으로 컬럼을 생성해야 하죠. 4000 byte가 넘는 데이터에서 특정 문자열을 찾아 치환(replace)하고 싶을 때 어떻게 해야 할까요? 저장된 값이 4000 byte 이하라면 아래와 같이 replace() 함수를 사용할 수도 있습니다. EX) BIG_TEXT 컬럼에서 '대한민국' 문자열을 찾아 'KOREA'로 변경 SELECT TO_CLOB(REPLACE(TO_CHAR(BIG_TEXT), '대한민국','KOREA')) FROM T_TABLE 저장된 값이 4000 byte가 넘는다면, 정규 표현식 함수 'REGEXP_REPLACE()'를 사용하면 됩니..
오라클을 공부하기 위해서 Oracle 11g Enterprise를 설치하는 것은 매우 번거로운 작업입니다. 이를 해결하는 방법은 도커 환경을 이용하는 것입니다. 아래 순서대로 따라 하시면 몇 분 만에 환경을 구축할 수 있습니다. 1. 도커 이미지를 다운로드 받습니다. docker pull loliconneko/oracle-ee-11g 2. 다운로드 받은 이미지를 이용해 컨테이너를 실행합니다. mkdir /home/user/data docker run -d -p 8080:8080 -p 1521:1521 -v /home/user/data:/u01/app/oracle -e DBCA_TOTAL_MEMORY=2048 loliconneko/oracle-ee-11g docker container ls -a 3. 접속..
저는 Oracle Query Tool로 Orange를 제일 좋아합니다. 단점은 윈도즈 버전만 있다는 것이죠. 물론 Toad, SQL Gate도 좋은 툴입니다. Orange / Toad가 상대적으로 가격이 비싸기 때문에 SQL Gate를 회사에서 많이 사용을 했습니다. 올해 이직을 했는데, 비용 때문인지 DBA를 제외하고는 대부분 SQL Developer (무료)를 사용하고 있었습니다. SQL Developer도 나름 좋지만, 윈도즈에서만 사용할 경우에는 살짝 아쉬운 부분이 많이 있습니다. 그런데 특정 부서에서는 유료로 "PL/SQL Develper 를 구매해서 사용하고 있었습니다. 처음 들어본 툴인데, 이름부터가 PL/SQL 코딩에 특화된 것처럼 보이죠. 가장 큰 매력이 가격인 것 같았습니다. 50 Us..
회사에서 특정 쿼리 수행시간이 오래 걸려서 튜닝 요청을 받았습니다. 처음 보는 쿼리라서 먼저 실행계획을 봤는데, 특이 사항이 없어서 쿼리에서 처리하는 데이터를 본 후에 문제점을 발견할 수 있었습니다. 오라클 11g 였는데, 쿼리의 SELECT LIST 부분에 WM_CONCAT 함수가 수행 시간을 오래 걸리게 만들었습니다. 저는 평소에 "행 -> 열"로 만들어야 하는 경우에는 주로 "LISTAGG" 함수를 사용합니다. WM_CONCAT은 사용하기는 편하나, 오라클 매뉴얼에도 없는 비공식 함수기 때문에 가급적 사용을 안합니다. WM_CONCAT이 문제가 되었던 거는 처리해야 하는 행(값)이 너무 많아서 였습니다. 조회 조건을 변경 하면은 대부분 10개 내외로 WM_CONCAT() 함수가 사용이 되어졌는데, ..
오라클 PL SQL 패키지 내에 DB LINK가 있을 때 유의할 점(?) 혹은 알아두면 좋을 점을 공유하려고 합니다.특정 테이블을 조회하고 있고, 또한 DB LINK로 원격지 테이블도 조회하는 PL SQL이 있습니다.이때 로컬에 있는 테이블에 컬럼을 추가하는 DDL를 수행하면 PL SQL 패키지 또는 프로시저(펑션)의 상태가INVALID가 됩니다.그 이후에 PL SQL를 호출하면 DB LINK가 있을 경우와 없는 경우가 다르게 처리 됩니다.1. DB LINK가 존재하는 경우: 호출시 해당 PL SQL이 DDL로 수행이 되면서 컴파일도 되고 VALID 상태로 변경된 후에 호출이 됨 2. DB LINK가 없는 경우: 호출시 해당 PL SQL이 DDL로 수행되는게 아니라 컴파일 후에 VALID 상태로 됨. 예..
아래와 같이 구문을 사용할 때 주의할 점이 있습니다. ALTER TABLE 테이블명 DROP PRIMARY KEY; 또는 ALTER TABLE 테이블명 DROP CONSTRAINT 유니크제약조건명; 그것은 Primary key를 생성하는 방법에 따라 제약조건과 인덱스가 모두 삭제가 될 때도 있고, 또는 제약조건만 삭제가 되고 인덱스는 그대로 남아 있는 경우가 발생한다는 것입니다. Primary Key를 생성하는 방법에 따른 현상인데요. Primary Key를 생성할 때 인덱스와 제약조건을 동시에 생성하면 삭제할 때도 동시에 삭제가 되고 이미 생성된 인덱스를 사용해서 Primary Key를 생성하면, 위 구문 수행 시 제약조건만 삭제가 되고 인덱스는 남아 있게 됩니다. 문제는 이미 생성된 Primary K..
> 가상컬럼이 있는 테이블 생성CREATE TABLE TB_ORDERS (ORDER_NO VARCHAR2(10),PRICE NUMBER,QTY NUMBER,TOTAL_VALUE AS (PRICE * QTY) VIRTUAL); > 데이터 입력INSERT INTO TB_ORDERS (ORDER_NO, PRICE, QTY) VALUES('1709010001', 5000, 5);COMMIT; 데이터를 조회하면 TOTAL_VALUE에 25000 이 들어가 있는게 보인다.정확히 말하면 가상컬럼이기 때문에 PRICE * QTY 의 수식에 의해서 보여지는 값이라고 보면 된다. 당연하지만 가상컬럼이기 때문에 업데이트는 안된다. - EOF -
- Total
- Today
- Yesterday
- 별잉 빛나는 밤
- 오미크론
- 파나소닉 비데 DL-EH10KWS
- 유가바이트디비
- 증권정보포털
- 로니카 BCS
- 브리다 정수기
- JMW 헤어드라이기기
- 고체 향수
- 톡토기
- 카카오 에드
- 르세라핌
- Life Chair
- 화분벌레
- VARIDESK
- 배당급
- 솔리드 쿨론
- Pixel Pals
- yugabyteDB
- 루미큐브 종류
- weka
- 빈센트 반 고흐
- GKRS
- 별이 빚나는 밤
- 홈 오피스
- Sybase IQ
- 매직 트랙패드2
- 남설 팔찌
- node.js
- 코라나 19
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |