JavaScript is required

Tạo trigger tự động giảm số lượng mặt hàng hiện có trong bảng mặt hàng khi có một mặt hàng nào đó được bán (tức là lệnh Insert được thực thi trên bảng chitietdathang)

A.

Create trigger trg_chitetdathang_insert on chitietdathang For insert as Update mathang Set mathang.soluong = mathang.soluong - inserted.soluong From mathang inner join inserted on mathang.mahang = inserted.mahang

B.

Create trigger trg_chitetdathang_insert on chitietdathang For insert as Delete mathang Set mathang.soluong = mathang.soluong - inserted.soluong From mathang inner join inserted on mathang.mahang = inserted.mahang

C.

Set trigger trg_chitetdathang_insert on chitietdathang For insert as Update mathang Set mathang.soluong = mathang.soluong - inserted.soluong From mathang inner join inserted on mathang.mahang = inserted.mahang

D.

Create trigger trg_chitetdathang_insert on chitietdathang For insert as Select mathang Set mathang.soluong = mathang.soluong - inserted.soluong From mathang inner join inserted on mathang.mahang = inserted.mahang

Trả lời:

Đáp án đúng: A


Câu hỏi yêu cầu tạo một trigger để tự động cập nhật số lượng mặt hàng trong bảng `mathang` khi có một bản ghi mới được thêm vào bảng `chitietdathang`. Điều này có nghĩa là khi một mặt hàng được bán (thêm vào `chitietdathang`), số lượng mặt hàng đó trong kho (bảng `mathang`) phải giảm đi tương ứng. * **Đáp án 1 (Đúng):** Sử dụng cú pháp `CREATE TRIGGER` để tạo trigger `trg_chitetdathang_insert` trên bảng `chitietdathang`. Trigger này sẽ kích hoạt khi có sự kiện `INSERT` xảy ra. Bên trong trigger, sử dụng câu lệnh `UPDATE` để cập nhật số lượng (`soluong`) trong bảng `mathang`. Điều kiện `mathang.mahang = inserted.mahang` đảm bảo rằng chỉ có số lượng của mặt hàng vừa được bán mới bị trừ đi. `inserted` là một bảng ảo chứa các bản ghi vừa được chèn vào `chitietdathang`. * **Đáp án 2 (Sai):** Sử dụng `DELETE mathang` thay vì `UPDATE mathang`. `DELETE` dùng để xóa dữ liệu, không phải để cập nhật. * **Đáp án 3 (Sai):** Sử dụng `SET TRIGGER` thay vì `CREATE TRIGGER`. Cú pháp `SET TRIGGER` không đúng để tạo trigger mới. * **Đáp án 4 (Sai):** Sử dụng `SELECT mathang` thay vì `UPDATE mathang`. `SELECT` dùng để truy vấn dữ liệu, không phải để cập nhật.

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