Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution

    Đề bài: [SQL Server] Kiểm tra số dư trước khi commit

    Bảng taikhoan(id, chu_tk, so_du).

    Hãy rút 800 khỏi tài khoản id = 1 theo quy tắc sau, tất cả trong một transaction:

    • Trừ tiền trước.
    • Nếu số dư sau khi trừ nhỏ hơn 0 thì ROLLBACK và in TU CHOI.
    • Ngược lại COMMIT và in THANH CONG.

    Sau đó in id và so_du của tất cả tài khoản sắp xếp theo id.

    • Định dạng đầu vào:

      Bảng taikhoan đã được tạo sẵn. Cột: id INT, chu_tk NVARCHAR(50), so_du INT. Luôn tồn tại tài khoản id = 1.

    • Ràng buộc đầu vào:

      Số tài khoản ≤1000\le 1000≤1000.

    • Định dạng đầu ra:

      Dòng đầu: TU CHOI hoặc THANH CONG. Sau một dòng trống là danh sách id và so_du cách nhau bởi TAB.

    Ghi chú:

    Có thể đọc số dư sau khi trừ bằng SELECT @sd = so_du FROM taikhoan WHERE id = 1; rồi so sánh.

    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',500);

    Đầu ra:

    THANH CONG
    
    1	200
    2	500

    Chủ đề

    🗄️ Cơ sở dữ liệuSQL ServerSQL Server: TransactionTất cả môn học

    Đang tải editor...