본문 바로가기

프로그래밍팁/oracle

(5)
COLUMN 추가, 삭제 방법 오늘 칼럼을 추가했다가 PRIMARY KEY도 등록하고 INDEX도 걸었는데 안타깝게도 삭제해야 하는 상황이 생겼다. 이런 경우도 있으니 참고하길 바란다. 칼럼 삭제도 순서가 있다. PRIMARY KEY와 인덱스를 제거하고 칼럼을 삭제해야 했다. 그 과정은 복잡하지 않지만 기록해 둔다고 나쁠 건 없다고 생각한다. 우선 PRIMARY KEY를 삭제해야 하는데, 그건 이전 글을 참고하길 바란다. 이전 글은 바로 아래 남겨 두겠다. 1. PRIMARY KEY 삭제 primary key 추가, 삭제 방법 primary key는 고유한 키 인데 변경이나 추가할 경우가 생기기도 한다. 처음에는 두개였는데 하나를 더 추가 한다면 이전에 있던 primary key를 삭제하고 다시 입력해야한다. 삭제와 입력은 간단한 절..
primary key 추가, 삭제 방법 primary key는 고유한 키 인데 변경이나 추가할 경우가 생기기도 한다. 처음에는 두개였는데 하나를 더 추가 한다면 이전에 있던 primary key를 삭제하고 다시 입력해야한다. 삭제와 입력은 간단한 절차이며, 꼭 관리자 계정으로 접속하여 작업하도록 하자. 권한이 있어야 추가할 수 있다. 1. PRIMARY KEY 삭제 ALTER TABLE 테이블명 DROP PRIMARY KEY; 2. PRIMARY KEY 추가 - 두가지가 있으며 첫번째는 인덱스명이 자동생성되고 두번째 것은 인덱스명을 지정해 준 경우 이다. 두번째 명령이 안되는 경우는 인덱스가 이미 있는 경우 안될 수도 있으니 한번 확인해 보길 바란다. ALTER TABLE 테이블명 ADD PRIMARY KEY(컬럼1, 컬럼2, 컬럼3, ..)..
INDEX 추가, 삭제, 이름변경 방법 index는 검색 속도를 향상하는 기능을 가지고 있다. index를 추가하기 위해서는 index를 삭제했다가 다시 입력해 주어야 한다. 방법은 간단하니 한번 해보도록 하겠다. 계정은 반드시 관리자 계정으로 접속해야 명령을 수행할 수 있다. SELECT권한만 있는 경우 수행할 수 없으니 계정을 한번 보기를 바란다. 1. INDEX 삭제 - 기존에 인덱스가 있다면 필수로 해야 한다. DROP INDEX 인덱스명; 2. INDEX 생성 - 인덱스명에 해당하는 테이블의 칼럼을 입력한다. CREATE INDEX 인덱스명 ON 테이블명(컬럼1, 컬럼2, 컬럼3,..); 3. INDEX 이름 변경 - 인덱스명을 변경하고 싶을 때 사용한다. ALTER INDEX 변경전인덱스명 RENAME TO 변경후인덱스명; 간단한 ..
[oracle-view table] 오라클 뷰 테이블 생성 방법 테이블에서 값을 가져올 때 원하는 값만 추출하여 사용하는 경우가 있다. 그럴때는 뷰테이블을 이용하여 미리 원하는 값의 범위에서 조회하면 보안 측면에서도 좋다. 그 범위 안의 내용만 볼 수 있고 다른 테이블과 join하여 사용하는 경우도 편리하게 사용할 수 있다. 간단한 형식이니 한번 살펴보도록 하겠다. 3단계로 간단히 살펴 보겠다. [예제 TST_TABLE] 1. view table 을 만들 쿼리를 먼저 생성해 둔다. SELECT TST_ID AS T_ID , TST_NM AS T_NM , TST_AG AS T_AG , TST_YMD AS T_YMD FROM TST_TABLE WHERE TST_YMD BETEEN '20200101' AND '20201231' ; 2. 뷰테이블을 생성한다. - CREATE..
[oracle]MERGE INTO 로 여러ROW 한꺼번에 UPDATE 및 INSERT MERGE INTO로 해당하는 테이블에 조건에 해당하는 값이 있으면 UPDATE를 진행하고 없으면 INSERT로 값을 입력해 주는 방법 입니다. 생각보다 간단하고 쓸 일이 많기 때문에 적어 보도록 할게요. 우선 ORACLE 10G 이상에서 사용을 권장하고, WITH로 하는 방법도 있지만, 적극 추천하는 방법은 MERGE INTO 입니다. 하나씩 살펴 보도록 하죠. 1. 기본구조 : T테이블에 UPDATE또는 INSERT를 할건데 A와B테이블의 값들로 합니다. KEY가 되는 값이 있으면 UPDATE, 없으면 INSERT를 하는 구조 입니다. MERGE INTO TTR_TABLE T USING ( SELECT A.R_ID AS R_ID ,A.R_DT AS R_DT ,A.R_NM AS R_NM ,A.R_IN_..