JavaScript is required

Lệnh dưới đây dùng để:
CREATE TRIGGER trg_chitetdathang_update_soluong
ON chitietdathang
FOR UPDATE
AS
IF UPDATE(soluong)
UPDATE mathang
SET mathang.soluong = ( mathang.soluong - (inserted.soluong - deleted.soluong))
FROM (deleted INNER JOIN inserted ON
deleted.mahang = inserted.mahang) INNER JOIN mathang
ON mathang.mahang = deleted.mahang

A.

Sửa (update) lại số lượng mặt hàng đã bán ở bảng Chitietdathang thì ta phải xóa lại số lượng hiện tại ở bảng Mặt hàng

B.

Sửa (update) lại số lượng mặt hàng đã bán ở bảng Chitietdathang thì ta phải cập nhật lại số lượng hiện tại ở bảng Mặt hàng

C.

Tạo số lượng mặt hàng đã bán ở bảng Chitietdathang thì ta phải cập nhật lại số lượng hiện tại ở bảng Mặt hàng

Trả lời:

Đáp án đúng: B


Đoạn mã SQL được cung cấp định nghĩa một trigger (trình kích hoạt) có tên `trg_chitetdathang_update_soluong`. Trigger này được kích hoạt trên bảng `chitietdathang` mỗi khi có thao tác `UPDATE` xảy ra, đặc biệt khi cột `soluong` (số lượng) bị thay đổi. Khi số lượng trong bảng `chitietdathang` được cập nhật, trigger sẽ tự động cập nhật số lượng tương ứng trong bảng `mathang`. Cụ thể, nó sẽ trừ đi sự khác biệt giữa số lượng mới (`inserted.soluong`) và số lượng cũ (`deleted.soluong`) từ số lượng hiện tại của mặt hàng trong bảng `mathang`. Vì vậy, đáp án chính xác nhất là 'Sửa (update) lại số lượng mặt hàng đã bán ở bảng Chitietdathang thì ta phải cập nhật lại số lượng hiện tại ở bảng Mặt hàng'.

Tổng hợp câu hỏi trắc nghiệm lập trình cơ sở dữ liệu SQL có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan