DB(26)
-
[ORACLE] scott계정 활성화
1. sys계정 접속 2. 'alter user scott idntified by tiger account unlock;' 입력 >alter user scott idntified by tiger account unlock; 3. scott계정 접속 확인 : 'conn scott/tiger' 입력 >conn scott/tiger [참고] 2번 명령어 입력했을 때 'SP2-0640:연결되지 않았습니다' 뜰 경우 1. 'show user'입력 후 아래 내용 확인된다면, 다시 sys계정 접속 후 scott계정활성화하면 됨 2.'conn sys/비번 as sysdba' 입력 3. 'alter user scott idntified by tiger account unlock;' 입력 -> 정상실행 참고 : 오라클로 ..
2020.11.22 -
[ORACLE] SQLPLUS 접속계정 잃어버렸을 때_계정 비번 변경
위와 같이 sqlplus 접속시 계정 잃어버렸을 때 계정 비번 변경 방법 1. sqlplus접속 : 명령프롬프트 'sqlplus'입력 >sqlplus 2. 사용자명에 'sys as sysdba' 입력 (만약 오라클 설치시 계정명을 'orc'로 했다면 'orcl as sysdba'로도 'sys'계정에 접속 가능함) >sys as sysdba 3. 비밀번호 입력 없이 엔터 입력 4. 현재 접속계정 확인 : 'show user'입력 (2번에서 '아이디명 as sysdba'로 접속했어도 'show user'입력시 'USER은 SYS입니다'로 확인가능) >show user 5. sys관리자 비밀번호 변경 : 'alter user sys identified 1234' 입력 >alter user sys identif..
2020.11.22 -
[ORACLE] 페이징쿼리
*참고 : 페이징처리 쿼리_오라클 1. 페이지 수를 계산하여 셀렉트 SELECT B.* FROM ( SELECT CEIL(ROWNUM/10) PAGE --, COUNT(*) OVER() AS TOTAL_COUNT , A.* FROM ( SELECT * FROM OP_SAMPLE ORDER BY ID DESC ) A ) B WHERE PAGE = 100000; SELECT B.* FROM ( SELECT CEIL(ROWNUM/10) PAGE /*, COUNT(*) OVER() AS TOTAL_COUNT*/ , A.* FROM ( SELECT * FROM OP_SAMPLE ORDER BY ID DESC ) A ) B WHERE PAGE = 100000; 100만 건인 경우 수행시간 : 1.327초, TOTA..
2020.11.11 -
[ORACLE] 숫자 3자리마다 콤마찍기
숫자 3자리마다 콤마찍는 쿼리 //'1억2십만3백' 콤마찍기 //1. TO_CHAR : 간단하지만 '999,999,999,999' 선언한 포맷의 자릿수만큼 앞에 공백생김 1. TO_CHAR('100200300','999,999,999,999') AS toChar //2. REGEXP_REPLACE() 함수사용 : 조금 복잡하지만 공백없이 잘 됨 2. REGXP_REPLACE(REVERSE(REGEXP_REPLACE(REVERSE(TO_CHAE('100200300')),'([0-9]{3}','\1,')),'^,','') AS REGEXPREPLACE REGEXP_REPLACE() 함수원리 1단계 : REVERSE()함수를 통해 값을 역순으로 정렬(뒷자리부터 콤마를 찍기위함) 2단계 : 패턴과 일치하는 값 ..
2020.11.10 -
[ORACLE] OVER() 함수
SELECT DEPT_NM, COUNT (*) FROM HRM_DEPT GROUP BY DEPT_NM OVER 함수를 쓰지 않으면 GROUP BY를 이용하여 전체 행의 수를 확인할 수 있다. SELECT DEPT_NM, COUNT (*) OVER () FROM HRM_DEPT OVER 함수를 쓰면 GROUP BY를 이용하지 않아도 전체 행의 수를 구할 수 있다. SELECT DEPT_NM, COUNT (DISTINCT DEPT_CD) OVER () FROM HRM_DEPT 부서이름과 중복되지 않는 부서코드를 가진 부서 행의 수를 반환 SELECT DEPT_NM, COUNT (*) OVER (PARTITION BY DEPT_CD) FROM HRM_DEPT 부서이름과 부서코드로 나눈 부서 행의 수를 반환 P..
2020.11.05 -
[ORACLE] 데이터타입
[문자형 데이터 타입] CHAR(n) : 고정길이 문자 / 최대 2000byte / 디폴트 값은 1byte VARCHAR2(n) : 가변길이 문자 / 최대 4000byte / 디폴트 값은 1byte NCHAR(n) : 고정길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte NVARCHAR(n) : 가변길이 유니코드 문자(다국어 입력가능) / 최대 2000byte / 디폴트 값은 1byte LONG : 최대 2GB 크기의 가변길이 문자형 CLOB : 대용량 텍스트 데이터 타입(최대 4Gbyte) NCLOB : 대용량 텍스트 유니코드 데이터 타입(최대 4Gbyte) ex) 예를 들어 가변형 문자형 데이터타입인 VARCHAR2(10)이라는 데이터 공간을 할당하고 'abc'..
2020.08.13