Hai bảng kho(id_sp, ton) và nhatky(noidung NVARCHAR(100)).
Một đơn hàng gồm hai mặt hàng. Trong một transaction, hãy xử lý lần lượt:
id_sp = 1.nhatky dòng Da tru SP1.sp_truoc_sp2.id_sp = 2.ROLLBACK về sp_truoc_sp2 và ghi vào nhatky dòng Huy SP2; ngược lại ghi Da tru SP2.COMMIT.Sau đó in id_sp và ton của kho (sắp xếp theo id_sp).
Hai bảng đã được tạo sẵn. kho: id_sp INT, ton INT. nhatky: noidung NVARCHAR(100). Kho luôn có id_sp = 1 và id_sp = 2, và sản phẩm 1 luôn đủ tồn.
Số sản phẩm ≤1000.
Mỗi dòng gồm id_sp và ton, cách nhau bởi TAB.
ROLLBACK TRANSACTION <savepoint> chỉ huỷ những thay đổi sau savepoint đó; những gì làm trước vẫn được giữ và sẽ được COMMIT.
Ví dụ:
Đầu vào:
CREATE TABLE kho(id_sp INT, ton INT);
CREATE TABLE nhatky(noidung NVARCHAR(100));
INSERT INTO kho(id_sp,ton) VALUES (1,10),(2,3);
Đầu ra:
1 5
2 3
Đang tải editor...