Một ràng buộc được khởi tạo với mđề DEFERRABLE INITIALLY IMMEDIATE. Điều đó có nghĩa gì?
A.
Constraint checking is done only at commit time.
B.
Ràng buộc sẽ ktra kết xuất sau mỗi câu lệnh SQL, nhƣng bạn có thể thay đổi cách thức này bằng chỉ định SET CONSTRAINTS ALL DEFERRED.
C.
Existing rows in the table are immediately checked for constraint violation
D.
The constraint is immediately checked in a DML operation, but subsequent constraint verification is done at commit time
Trả lời:
Đáp án đúng: B
Câu hỏi này liên quan đến ràng buộc (constraint) trong SQL với thuộc tính `DEFERRABLE INITIALLY IMMEDIATE`.
- `DEFERRABLE`: Chỉ định rằng việc kiểm tra ràng buộc có thể bị trì hoãn cho đến cuối giao dịch.
- `INITIALLY IMMEDIATE`: Chỉ định rằng ràng buộc được kiểm tra ngay lập tức sau mỗi câu lệnh SQL. Tuy nhiên, hành vi này có thể được thay đổi trong giao dịch bằng lệnh `SET CONSTRAINTS ALL DEFERRED`.
Phân tích các đáp án:
- A. Sai. Ràng buộc không chỉ được kiểm tra tại thời điểm commit.
- B. **Đúng**. Ràng buộc ban đầu kiểm tra sau mỗi câu lệnh SQL, nhưng có thể thay đổi thành kiểm tra vào cuối giao dịch bằng `SET CONSTRAINTS ALL DEFERRED`.
- C. Sai. Câu này đề cập đến kiểm tra dữ liệu hiện có khi ràng buộc được tạo, không phải hành vi của `DEFERRABLE INITIALLY IMMEDIATE`.
- D. Sai. Mặc dù có kiểm tra ngay lập tức, nhưng không chỉ kiểm tra lại ở commit time nếu không có sự thay đổi bằng `SET CONSTRAINTS`.
Vậy, đáp án đúng là B.
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
