Bảng taikhoan(id, chu_tk, so_du).
Hãy tạo thủ tục dbo.ChuyenTien nhận @tu INT, @den INT, @so_tien INT. Thủ tục phải:
@so_tien khỏi tài khoản @tu, cộng vào tài khoản @den.@tu bị âm thì ROLLBACK và không thay đổi gì; ngược lại COMMIT.BEGIN TRY ... BEGIN CATCH để mọi lỗi phát sinh đều ROLLBACK.Sau đó gọi dbo.ChuyenTien 1, 2, 500; rồi in id và so_du của tất cả tài khoản, sắp xếp theo id.
Bảng taikhoan đã được tạo sẵn. Cột: id INT, chu_tk NVARCHAR(50), so_du INT. Luôn có tài khoản id = 1 và id = 2.
0≤so_du≤109.
Mỗi dòng gồm id và so_du sau khi chạy, cách nhau bởi TAB.
Bài làm phải bắt đầu bằng một dòng GO. Trong CATCH nhớ kiểm tra IF @@TRANCOUNT > 0 trước khi ROLLBACK.
Ví dụ:
Đầu vào:
CREATE TABLE taikhoan(id INT, chu_tk NVARCHAR(50), so_du INT);
INSERT INTO taikhoan(id,chu_tk,so_du) VALUES (1,N'An',1000),(2,N'Binh',300);
Đầu ra:
1 500
2 800
Đang tải editor...