오라클 ORA-01779 에러 발생시 merge 문 이용한 update 오라클 update 에 select 이용시 힌트절이 11g 부터 사용이 안되는 부분이 있다. 그리고 구문 역시 정상이 아닐경우 ORA-01779 키보존 에러가 나올수 있다 그럴경우 merge 문을 이용해서 update를 시도하면 된다. 물론 merge 문이 없다면 구문을 다시 만들어야 되겟지만... MERGE INTO 대상테이블 a USING (참.. sql 2014.05.08
오라클 숫자 혹은 문자 고정된 자리수 채우기 간간히 쓰면서도 까먹어서 검색한다... lpad(대상칼럼,채울자리수,채울문자) ex) a컬럼에 숫자형으로 1 부터 100까지 있음 lpad(a,7,'0') = > 0000001 ~ 0000100 요렁게 나옴 sql 2014.03.26
오라클 특정 컬럼 순서 매기기 ROW_NUMER()OVER(PARTITION) 특정 컬럼에 대한 순서를 매길때가 있다 예를 들어 c컬럼에 20130101 이라는 값이 몇개가 있는데 여기에 대해서만 따로 순서를 매길때 ROW_NUMER()OVER(PARTITION) 을 사용하면 된다. 그러면 나오는 결과 값이 20130101 값들이 중복된 순서대로 뒤에 넘버를 매긴다 자세한 사용법은 아래와 같다. select .. sql 2014.03.25
오라클 여러row 한 컬럼에 넣기2 오늘 회사 팀장님한테 배운건데 상당히 유용한거 같다 오라클 10g 부터 사용가능 하고 wmsys.wm_concat(컬럼명) 이다. select wmsys.wm_concat('목표필드') as from 대상 테이블; 여러 row를 한줄에 넣고 구분자로 , 도 넣어주고 속도도 빠르단다. 스키마정보가 앞에 있는걸 보아하니 wmsys 에 속한거 같은데.. sql 2014.03.19
여러row 한 컬럼에 넣기 *bbs_cd = 키값 *user_id = 한칼럼에 들어갈 값 SELECT bbs_cd, SUBSTR (MAX (SYS_CONNECT_BY_PATH (user_id, ',')), 2) user_id FROM (SELECT user_id, bbs_cd, ROW_NUMBER () OVER (PARTITION BY bbs_cd ORDER BY user_id) rnum FROM sjtc_bbs_auty) START WITH rnum = 1 CONNECT BY PRIOR rnum = rnum - 1 AND PRIOR bbs_cd = bbs_cd GROUP BY bbs_cd 오라클 에서는 xml 함수를 사용.. sql 2013.11.27
오라클 db 링크 테이블 복사 select * from 테이블명@링크명; create table 테이블명 as(select * from 테이블명@링크명); sql 2013.03.29
오라클 문자 분리 SELECT SUBSTR(EMAIL, INSTR(EMAIL, '@',1,1) +1) AS LASTVAL, SUBSTR(EMAIL,0, INSTR(EMAIL, '@',1,1)-1) AS FIRSTVAL, EMAIL FROM 테이블명; sql 2013.03.29
오라클 다음행 쿼리 select * from 테이블 where 컬럼 in( select nexopseq from ( select optype, opseq, lead(optype,1,'다음') over(order by opseq) , lead(opseq,1,'다음') over(order by opseq) nexopseq from 테이블) where 컬럼 = 값) and 컬럼 = 값; 내가 쓰는 곳에 쓸일이 있어 만든거....테스트로.... sql 2013.03.29