SQLDSQL 기본난이도 3MCQ

SQLD SQL 기본 기출문제 #1316

문제

다음 SQL 실행 후 SELECT COUNT(*) FROM ORDERS;의 결과는?

SQL
CREATE TABLE ORDERS(ID INT PRIMARY KEY, AMOUNT DECIMAL(10,2) CHECK(AMOUNT >= 1000)); INSERT INTO ORDERS VALUES(100, 1500.00); INSERT INTO ORDERS VALUES(200, 2000.00); SAVEPOINT SP_A; INSERT INTO ORDERS VALUES(300, 500.00); -- CHECK 제약 위반 INSERT INTO ORDERS VALUES(400, 3000.00); ROLLBACK TO SP_A; INSERT INTO ORDERS VALUES(500, 2500.00); INSERT INTO ORDERS VALUES(600, 800.00); -- CHECK 제약 위반 COMMIT;

① 2 ② 3 ③ 4 ④ 5

정답

2

해설

처음 두 행(100, 200)은 성공적으로 삽입되고 SAVEPOINT SP_A가 설정됩니다. 그 후 ID 300 삽입 시 AMOUNT가 500.00으로 CHECK 제약(>=1000)을 위반하여 실패하고, ID 400 삽입은 성공합니다. ROLLBACK TO SP_A로 인해 ID 300, 400이 모두 취소됩니다. 이후 ID 500 삽입은 성공하지만, ID 600 삽입은 AMOUNT가 800.00으로 CHECK 제약을 위반하여 실패합니다. 최종적으로 ID 100, 200, 500만 남아 총 3건입니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] SQL 기본 기출 #1316 | sqldpass