-------
SELECT *
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'TBL_EMP';
--F40 41
데이터의 양이 많을 때에 입력할때 마다 검사하는 것 보다 추후 일괄 처리하는 것이 좋다.
연장시킴으로 데이터를 받은 후, COMMIT 시에 일괄 검사하도록 수정
제약 조건의 수정은 기존의 제약조건을 삭제하고 다시 생성하는 방식으로 수정하여야 한다.
ALTER TABLE TBL_EMP
DROP CONSTRAINT TBL_EMP_EMAIL_CK;
ALTER TABLE TBL_EMP
ADD CONSTRAINT TBL_EMP_EMAIL_CK
CHECK ( INSTR (EMAIL,'@',1,1)>1 AND INSTR (EMAIL,'@',1,2)=0 AND INSTR(EMAIL,'@',1,1) != LENGTH(EMAIL)
AND SUBSTR( REVERSE(EMAIL),1, INSTR(REVERSE(EMAIL),'.',1,1)) IN ('MOC.','TEN.','RK.') )
DEFERRABLE INITIALLY DEFERRED;
SELECT *
FROM USER_CONSTRAINTS
WHERE TABLE_NAME = 'TBL_EMP';
-- F42, 43
FROM TBL_EMP;
INSERT INTO TBL_EMP VALUES (0004,'BMD','4112191181818','MADCOW@2MB.JAP',0002,10);
INSERT INTO TBL_EMP VALUES (0005,'꺽정','8010101234567','LIMNAVER.COM',0003,20);
SELECT * FROM TBL_EMP;
-- F44
COMMIT;
--F45
SELECT *
FROM TBL_EMP;
--F46
INSERT INTO TBL_EMP VALUES (0005,'꺽정','8010101234567','LIM@NAVER.COM',0003,20);
COMMIT;
SELECT *
FROM TBL_EMP;
-- F47
==== 테이블의 삭제 시 주의점
------
DROP TABLE TBL_DEPT;
--F48
FROM USER_CONSTRAINTS
WHERE TABLE_NAME ='TBL_EMP' AND CONSTRAINT_TYPE ='R' ;
-- F49
SELECT *
FROM USER_CONSTRAINTS
WHERE CONSTRAINT_TYPE ='R' AND R_CONSTRAINT_NAME LIKE 'TBL_DEPT%';
--F50
DROP TABLE TBL_DEPT CASCADE CONSTRAINT;
테이블을 삭제 & 참조하는 제약들을 삭제
SELECT *
FROM TBL_DEPT;
--F51
댓글 없음:
댓글 쓰기