본문 바로가기

DB/ORACLE5

[oracle] instr 문자열에서 특정값 위치 찾기 [oracle] instr 문자열에서 특정값 위치 찾기 INSTR(문자열, 찾을 문자열, 시작위치, 몇번째); 시작위치에 -1을 입력할 경우 뒤에서부터 순서를 찾는다. SELECT INSTR('https://soon86.tistory.com', '.', 1, 1) AS INSTR_TEST FROM DUAL; 결과 : 15 (앞에 있는 점의 위치를 리턴 함) SELECT INSTR('https://soon86.tistory.com', '.', 1, 2) AS INSTR_TEST FROM DUAL; 결과 : 23 (뒤에 있는 점의 위치를 리턴 함) SELECT INSTR('https://soon86.tistory.com', '.', 16, 1) AS INSTR_TEST FROM DUAL; 결과 : 23 (뒤.. 2022. 5. 9.
[oracle] 테이블 이름 바꾸기 / 컬럼 추가, 컬럼 삭제, 컬럼 수정 스크립트 [oracle] 테이블 이름 바꾸기 / 컬럼 추가, 컬럼 삭제, 컬럼 수정 스크립트 자주 사용하지는 않지만, 사용하려고하면 헷갈리는 스크립트이기 때문에 정리를 해놓는다. 오라클 테이블 이름 바꾸기 ALTER TABLE 기존테이블명 RENAME TO 변경테이블명; -- 예제 ALTER TALBE TABLE_OLD_NAME RENAME TO TABLE_NEW_NAME; ALTER TABLE TBL_MEMBER RENAME TO TBL_STUDENT 컬럼 추가 -- 타입은 INT(8), NOT NULL에 자동증가, PRIMARY KEY ALTER TABLE 테이블명 ADD 컬럼명 INT(8) NOT NULL AUTO_INCREMENT, ADD PRIMARY KEY('컬럼명'); -- 예제 ALTER TABLE.. 2022. 5. 9.
[oracle] 시퀀스 생성 [oracle] 시퀀스 생성 개인적으로 내가 테이블을 설계할때는 시퀀스를 생성하여 사용하지는 않지만, 기록용으로 저장해두고자 한다. (사용하지 않으면 까먹기 때문에..) 오라클의 시퀀스는 무엇인가? 유일(UNIQUE)한 값을 생성해주는 오라클 객체 시퀀스를 생성하면 기본키와 같이 순차적으로 증가하는 컬럼을 자동적으로 생성 할 수 있다. 보통 PRIMARY KEY 값을 생성하기 위해 사용 메모리에 Cache되었을 때 SEQUENCE 값의 액세스 효율이 증가 SEQUENCE는 테이블과는 독립적으로 저장되고 생성된다. 즉, 하나의 SEQUENCE를 여러 테이블에서 쓸 수 있다. 스크립트 구성 create sequence sequence_name [start with n] // 시퀀스 시작값 n 지정 [incr.. 2022. 5. 2.
[oracle] 테스트 데이터 만들기 [oracle] 테스트 데이터 만들기 개발을 하다보면 테스트 데이터가 필요할 때가 있다. --> SELECT LEVEL AS ID ,ROUND(DBMS_RANDOM.VALUE(1, 100),0) AS RAN ,'123456ABC' || DBMS_RANDOM.STRING('U', 3) || SUBSTR('0000', 1, 4 - LENGTH(TRIM(LEVEL))) || LEVEL AS DATA1 FROM DUAL CONNECT BY LEVEL INSERT INTO 테이블명 ( 필드1, 필드2, 필드3) SELECT LEVEL AS ID ,ROUND(DBMS_RANDOM.VALUE(1, 100),0) AS RAN ,'123456ABC' || DBMS_RANDOM.STRING('U', 3) || SUBSTR.. 2016. 2. 12.
[oracle] 오라클의 중복 데이터 찾는 쿼리 [oracle] 오라클의 중복 데이터 찾는 쿼리 오라클을 사용하여 개발을 하고 있으면서도 자주 쿼리를 날리지 않기 때문에 금방 잊어버리기가 쉽상이다.. 그중에서도 오라클에서 중복되는 데이터 찾는 쿼리를 알아보도록 하겠다. SELECT RTAG, COUNT(*) FROM [TABLE NAME] GROUP BY RTAG HAVING COUNT(*) > 1 ORDER BY RTAG 2013. 9. 2.