본문 바로가기

오라클

오라클 테이블 락(LOCK) 조회 및 해제 방법 오라클을 사용하다보면 어느순간 테이블 조회시간이 엄청나게 길어진다거나 아에 조회가 되지 않거나 추가,삭제 작업들이 처리되지 않을때가 있다. 이럴땐 테이블에 락이 걸린건 아닌지 확인해 볼 필요가 있다. - 락(LOCK) 걸린 테이블 조회 select * from v$locked_object where oracle_username = 'user name'; user name은 오라클 접속할때 사용한 id라고 보면 된다. 위 쿼리를 실행에 무언가 데이터가 조회되면 해당 테이블에 락이 걸려있다는 뜻이다. 락을 해제하기 위해서는 세션id를 알아야 하는데 아래 쿼리를 통해 확인 가능하다 select a.sid, a.serial# from v$session a, v$lock b, dba_objects c where .. 더보기
오라클 조건에 따른 값 출력 DECODE 함수 SELECT DECODE(컬럼명,조건,컬럼값이 조건과 같으면, 컬럼값이 조건과 다르면) FROM DUAL 예를 들어보면 DECODE(SCHOOL, 학교, 공부, 놀자) SCHOOL 컬럼값이 조건의 '학교'와 같으면 '공부'를 출력. 달면 '놀자'를 출력 아래처럼 다른 방법으로 표현 할 수도 있다 SELECT DECODE(컬럼명, 조건1, 컬럼값이 조건1과 같으면, 조건2, 컬럼값이 조건2와 같으면, 그 외) FROM DUAL 이것도 예를 들어보면 DECODE(DEPT, '경리팀', '돈', '전산팀', 'PC', '부서없음') DEPT 컬럼값이 '경리팀'이면 '돈'을 출력. '전산팀'일 경우 'PC'를 출력. 그 외의 값들은 '부서없음' 출력 더보기
오라클 컬럼 추가, 삭제, 변경 오라클에서 테이블을 생성하고 난 뒤 컬럼을 추가, 삭제, 변경하고자 할 경우 아래 내용을 참고하자 [컬럼 추가] ALTER TABLE HHH ADD(훈 VARCAHR2(5)); 설명 : HHH 테이블에 VARCHAR2 타입 5자리의 훈 컬럼을 추가 [컬럼 삭제] ALTER TABLE HHH DROP(훈); 설명 : HHH 테이블에 있는 훈 컬럼을 삭제 [컬럼 변경] ALTER TABLE HHH RENAME COLUMN 훈 TO 훈이; 설명 : HHH 테이블에 있는 훈 컬럼이 이름을 훈이로 변경 ALTER TABLE HHH MODIFY(훈 NUMBER(10)); 설명 : HHH 테이블에 있는 훈 컬럼의 타입과 사이즈를 NUMBER 10자리로 변경 더보기
MSSQL, 오라클 문자열자르기 [MSSQL] SELECT SUBSTRING('1234567890',5,5) [ORACLE] SELECT SUBSTRING('1234567890',5,5) FROM DUAL 결과값 '56789' 설명 -> SUBSTRING(문자,몇번째 자릿수부터 자를건지,몇자리를 가져올건지) 위 예제 같은 경우는 '1234567890'이라는 문자의 5번째 자리인 5부터 5자리를 가져오는 식이므로 결과값은 56789가 된다 MSSQL은 SUBSTRING / 오라클은 SUBSTR 함수이름만 다를 뿐 기능과 사용법은 동일하다 더보기
오라클 다중 업데이트 오라클 다중 업데이트랍니다. 하나의 필드에 하나씩 업데이트 되는게 보통 방법인데요 아래처럼 처리하면 하나의 필드또는 하나 이상의 필드에 여러값을 동시에 UPDATE 가능해요 UPDATE 테이블 A SET (A.필드1, A.필드2) = (SELECT B.필드1, B.필드2 FROM 테이블 B WHERE A.기본키 = B.기본키 AND A.엮을필드 = B.엮을필드) WHERE A.기본키 = '값적어주세용' AND A.또다른필드 = '또다른값' 일단 해보시고 안풀리시거나 궁금한 부분은 댓글을 달아주세요 더보기