테이블 생성
CREATE TABLE 테이블명
(
컬럼명 컬럼타입(바이트크기) 조건
EXAMPLE1 VARCHAR2(4) NOT NULL,
EXAMPLE2 CHAR(10) DEFAULT '연습' NOT NULL,
EXAMPLE3 NUMBER(1) DEFAULT '0',
EXAMPLE4 DATE DEFAULT SYSDATE NOT NULL
);
테이블 삭제
DROP TABLE 테이블명
테이블 컬럼타입 변경
구문
ALTER TABLE 테이블명 modify 컬럼명 데이터 타입
EX)
ALTER TABLE SYSACCESSPRG_HISTORY modify CHANGEMD DATE
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
테이블 기본키 추가
방법 1
구문
ALTER TABLE 테이블명 ADD CONSTRAINT 키명 PRIMARY KEY (컬럼명,컬럼명,컬럼명)
EX)
ALTER TABLE SYSACCESSPRG_HISTORY ADD CONSTRAINT PK PRIMARY KEY (PROG_ID, LOGIN_ID, CHANGEGB,CHANGEMD)
방법 2
구문
CREATE UNIQUE INDEX 키명 ON 테이블명(컬럼명,컬럼명,컬럼명)
EX)
CREATE UNIQUE INDEX PK ON SYSACCESSPRG_HISTORY
(PROG_ID, LOGIN_ID, CHANGEGB,CHANGEMD)
테이블 기본키 삭제
ALTER TABLE SYSACCESSPRG_HISTORY DROP PRIMARY KEY;
############################################################
ORA-02437: (KUP.FUNCGB)을 검증할 수 없습니다 - 잘못된 기본 키입니다.
중복된 값이 있는것을 컬럼을 기본키로 테이블을 수정해줄때 발생하는 오류
############################################################
SELECT PROG_ID, LOGIN_ID, CHANGEGB,CHANGEMD,COUNT(*)
FROM SYSACCESSPRG_HISTORY
GROUP BY PROG_ID, LOGIN_ID, CHANGEGB,CHANGEMD
HAVING COUNT(*) >1
ORDER BY LOGIN_ID
위와같은 쿼리로 중복된 값(COUNT(*)이 2이상인 것들)을 찾아서 삭제해줘야한다.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
테이블 Commnet 설정
구문
COMMENT ON TABLE 테이블명 IS 코멘트;
EX)
COMMENT ON TABLE EX_TABLE IS '예제 테이블';
컬럼 Comment 설정
구문
COMMENT ON COLUMN 테이블명.컬럼명 IS 코멘트;
EX)
COMMENT ON COLUMN EX_TABLE.DEPT IS '부서';
Comment 삭제
구문
COMMENT ON TABLE 테이블명 IS '';
COMMENT ON 테이블명.컬럼명 IS '';
EX)
COMMENT ON TABLE EX_TABLE IS '';
EX)
COMMENT ON COLUMN EX_TABLE.DEPT IS '';
'DB > Oracle' 카테고리의 다른 글
[Oracle] 커서(Cursor) 예제들 (0) | 2022.08.11 |
---|---|
[Oracle] 커서(Cursor) (0) | 2022.08.10 |
[Oracle] 조건문 IF, 제어문 LOOP, 제어문 FOR (0) | 2022.08.02 |
[Oracle] REGEXP_SUBSTR =CASE WHEN END + SUBSTR + INSTR (0) | 2022.07.27 |
[Oracle] ORA-01722 & ORA-00979 & ORA-00918 & ORA-00920 (0) | 2022.07.26 |