과목2 제3장 관리구문 #21
-
문제 1. TABLE의 데이터를 삭제할 때, DELETE문과 TRUNCATE문의 차이를 서술하시오.문제 2. 트랜잭션의 특성중 다른 트랜잭션의 영향을 받지않도록 보장하는 특성을 선택하시오.
문제 3. 아래와 같은 테이블이 있을 때 아래의 SQL 구문이 순서대로 수행되었을 때 마지막 SQL의 수행 결과를 적으시오.[TABLE]
SQLD_47
COL1 VARCHAR2(30)
COL2 NUMBER
[SQL]
INSERT INTO SQLD_47(COL1, COL2) VALUES('ABCD',NULL);
INSERT INTO SQLD_47(COL1, COL2) VALUES('BC',NULL);
ALTER TABLE SQLD_47 MODIFY COL2 DEFAULT 10;
INSERT INTO SQLD_47(COL1, COL2) VALUES('XY',NULL);
INSERT INTO SQLD_47(COL1) VALUES('EXD');
SELECT SUM(COL2) FROM SQLD_47; |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
|
범위
|
Beta Was this translation helpful? Give feedback.
-
문제 1. TABLE의 데이터를 삭제할 때, DELETE문과 TRUNCATE문의 차이를 서술하시오.
문제 2. 트랜잭션의 특성중 다른 트랜잭션의 영향을 받지않도록 보장하는 특성을 선택하시오.
문제 3. 아래와 같은 테이블이 있을 때 아래의 SQL 구문이 순서대로 수행되었을 때 마지막 SQL의 수행 결과를 적으시오.[TABLE]
SQLD_47
COL1 VARCHAR2(30)
COL2 NUMBER
[SQL]
INSERT INTO SQLD_47(COL1, COL2) VALUES('ABCD',NULL);
INSERT INTO SQLD_47(COL1, COL2) VALUES('BC',NULL);
ALTER TABLE SQLD_47 MODIFY COL2 DEFAULT 10;
INSERT INTO SQLD_47(COL1, COL2) VALUES('XY',NULL);
INSERT INTO SQLD_47(COL1) VALUES('EXD');
SELECT SUM(COL2) FROM SQLD_47;
> 10 |
Beta Was this translation helpful? Give feedback.
범위
DELETE: DELETE 문은 테이블에서 특정 레코드 또는 조건에 맞는 레코드를 제거하는 데 사용됩니다. WHERE 절을 사용하여 특정 조건에 맞는 레코드만 삭제할 수 있습니다.
TRUNCATE: TRUNCATE 문은 테이블의 모든 레코드를 제거하는 데 사용됩니다. 조건을 지정할 수 없으며, 테이블의 모든 데이터를 일괄 삭제합니다.
속도
DELETE: DELETE 문은 행 단위로 작업하므로, 삭제할 레코드가 많을 경우 작업 속도가 느려질 수 있습니다.
TRUNCATE: TRUNCATE 문은 테이블의 데이터를 일괄 삭제하므로, 일반적으로 DELETE 문보다 빠릅니다.
트랜잭션 및 로그
DELETE: DELETE 문은 트랜잭션 로그에 기록되므로, 삭제 작업 후 롤백할 수 있습니다. 이로 인해 트랜잭션 로그 공간이 더 빨리 차고, 추가 오버헤드가 발생할 수 있습니다.
TRUNCATE: TRUNCATE 문은 트랜잭션 로그에 최소한의 정보만 기록되므로, 롤백 옵션이 제한적입니다. 그러나 이로 인해 더 적은 로그 공간을 사용하고, 일반적으로 더 빠른 작업을 가능케 합니다.
트리거
DELETE: 테이블에서 DELETE 작업이 수행되면, 관련 트리거가 실행됩니다.
TRUNCATE: TRUNCATE 작업은 테이블 트리거를 실행하지 않습니다.
IDENTITY 속성 재설정
DELETE: DELETE 문을 사용하여 테이블의 모든 데이터를…