728x90
반응형
SMALL
※ 연습용 순서
#1) 기존 테이블 삭제
DROP TABLE test PURGE;
#2) 테이블 생성
CREATE TABLE test (
id NUMBER,
name VARCHAR(10),
sal NUMBER
);
#3) INSERT문 실행 및 저장
INSERT INTO test(id, name, sal) VALUES (1, 'a', 1000);
INSERT INTO test(id, name, sal) VALUES (2, 'b', 100);
INSERT INTO test(id, name, sal) VALUES (3, 'a', 2000);
COMMIT;
#4) data table 생성
SQL> @$ORACLE_HOME/rdbms/admin/utlexpt1
#5) exceptions 지우기
TRUNCATE TABLE EXCEPTIONS;
#6-1) data 확인
SELECT * FROM hr.test;
#6-2) 제약조건 확인
SELECT * FROM user_constraints WHERE table_name = 'TEST';
#7) 제약 조건 추가
- 오류발생
ALTER TABLE test ENABLE CONSTRAINT test_id_pk EXCEPTIONS INTO exceptions;
#8) 중복되는 data 확인
SELECT rowid, t.*
FROM test t
WHERE ROWID IN ( SELECT row_id FROM exceptions );
#9) 중복된 data 변경 후 commit
UPDATE test
SET id = 6
WHERE rowid = 'AAAVpSAAEAAAAJNAAC';
COMMIT;
#10) data 확인
SELECT * FROM hr.test;
#11) 기존 data 지우기
TRUNCATE TABLE EXCEPTIONS;
#12) 제약조건 생성
- 오류발생하지 않음.
ALTER TABLE test ENABLE CONSTRAINT test_id_pk EXCEPTIONS INTO exceptions;
#13) data 확인
SELECT * FROM hr.test;
#14) 변경된 제약조건 확인
SELECT * FROM user_constraints WHERE table_name = 'TEST';
728x90
반응형
LIST
'Data Base > Linux' 카테고리의 다른 글
240104 Oracle DB Linux_Oracle Network (2) | 2024.01.04 |
---|---|
240104 Oralce DB Linux _ SQL LOADER (0) | 2024.01.04 |
240103 Oracle DB Linux_데이터 제약 조건 상태, 데이터 이관 작업 (1) | 2024.01.03 |
240103 Oracle DB Linux_ 데이터 제약 조건 체크 여부 (0) | 2024.01.03 |
231228 Linux_감사 정책, 종속성 관계, 컴파일 (0) | 2023.12.28 |