본문 바로가기

oracle

(9)
오라클 중복 row 찾기 Select [검색할 Column] , count(*)From [검색할 Table]Group by [검색할 Column]Having count(*) > 1;
오라클 커서(CURSOR) 사용 샘플 CREATE OR REPLACE PROCEDURE 프로시저명(LSV_IN INTABLE%TYPE, RTN_CD OUT INTEGER, RTN_MSG OUT VARCHAR2)IS LSV_VAR VARCHAR2(3) ; ERR_01EXCEPTION ; CURSOR CUR1IS-- CURSOR 선언SELECT * FROM TABLE;BEGIN BEGIN-- 기존데이터 삭제DELETEFROM TABLE WHERE 조건 ;EXCEPTIONWHEN NO_DATA_FOUND THENRAISE ERR_01 ;END ;END LOOP;RTN_MSG := '정상 처리되었습니다.';RTN_CD := 0; EXCEPTIONWHEN INVALID_CURSOR THENRaise_Application_Error(-20012, '커..
Oracle : Alter table 사용해서 테이블 구조 변경하기 1. alter table을 이용 column 추가2. alter table을 이용 column 변경3. alter table을 이용 column 삭제4. set unused option5. 제약조건 추가6. not null 제약조건 추가 1. Alter table(column 추가, 변경, 삭제)- 기존 컬럼의 data type, size, default 값을 변경할 수 있다. column 주가alter table 테이블명 add (컬럼명 데이터타입 [default 디폴트값]);SQL> alter table dept add(jobid varchar(10) default 'KBS', col number(3), col2 number(4));주의 할 점은 column이 추가되는 위치를 지정해 줄 수는 없다...
Oracle : 컬럼 추가, 수정, 삭제 출처:http://oristone.tistory.com/7?srchid=BR1http%3A%2F%2Foristone.tistory.com%2F7 컬럼명 변경ALTER TABLE dept RENAME COLUMN name TO deptName; 컬럼 타입수정 ALTER TABLE dept MODIFY ( deptName varchar2(100) [NULL]|[NOT NULL] ); 컬럼 삭제 ALTER TABLE dept DROP COLUMN deptName; 컬럼 추가 ALTER TABLE dept ADD ( address varchar2(100) default '' ); 컬럼의 제약조건 삭제 ALTER TABLE userTable DROP PRIMARY KEY: ALTER TABLE userTable ..
OUTER JOIN Out(외부) Join *핵심 : OUT조인 조건이 걸려있는 테이블에는 다른 조건절이 들어와도 똑같이 OUT조인 연산자인 (+)를 해주어야 합니다. - equijoin 문장들의 한가지 제약점은 그것들이 조인을 생성하려 하는 두 개의 테이블의 두 개 컬럼에서 공통된 값이 없다면 테이블로부터 테이터를 Return하지 않는 다는 것입니다. - 정상적으로 조인 조건을 만족하지 못하는 행들을 보기위해 outer join을 사용합니다. Outer join 연산자 "( + )"입니다. -조인시킬 값이 없는 조인측에 "( + )"를 위치 시킵니다. - Outer join 연산자는 표현식의 한 편에만 올 수 있습니다. 예제1) 일반 조인의 경우 SQL> SELECT DISTINCT(a.deptno), b.deptno F..
문자열을 데이트 타입으로 변환(string to date) to_date(substr(d.timekey, 0, 14), 'YYYYMMDDHH24MISS') 문자열 20110519114001 을 date type으로 변환
오라클 인덱스 생성 삭제 인덱스: 데이터베이스에서 테이블에 저장되어 있는 데이터를 좀 더 효율적이고 빠르게 찾기 위해 사용 오라클에서는 자동으로 인덱스를 검색하여 데이터를 조회한다. CREATE [ UNIQUE | BITMAP ] INDEX index_name ON table_name(column_name) [TABLESPACE tablespace_name]; UNIQUE : UNIQUE Index를 생성한다. BITMAP : BITMAP Index를 생성한다. index_name : 생성하고자 하는 인덱스 이름 table_name : 인덱스를 생성하고자 하는 테이블 이름 column_name : 인덱스로 생성하고자 하는 컬럼 이름 tablespace_name : 인덱스가 위치할(생성될) 테이블 스페이스 이름 예) CREATE ..
오라클 날짜 연산 DATE - DATE는 일(DAY)로 계산 되어지며 기본적으로 날짜로 표시되기 때문에 다시 그걸 아래와 같이 계산하면 되겠죠? 일 = 24시간 = 24 * 60분 = 24* 60분 * 60초의 공식을 대입 시간: (A-B) * 24 분 : (A-B) * 24 * 60 초 : (A-B) * 24 * 60 * 60 예) 일로 계산 select sysdate - to_date('2011-02-14 오전 7:46:16', 'yyyy-mm-dd am hh:mi:ss') as newdate from dual; ---------------- NEWDATE 8.03563657407407407407407407407407407407 시간으로 계산 select (sysdate - to_date('2011-02-14 오전 7..