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

    Đề bài: [SQL Server] Chuyển tiền nguyên vẹn trong một transaction

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

    Chuyển 300 từ tài khoản id = 1 sang tài khoản id = 2. Hai thao tác trừ tiền và cộng tiền phải nằm trong cùng một transaction — nếu chỉ một trong hai chạy được thì tiền sẽ bốc hơi hoặc sinh ra từ hư không.

    Sau khi COMMIT, 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 và id = 2, và tài khoản 1 luôn đủ tiền.

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

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

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

      Mỗi dòng gồm id và so_du, cách nhau bởi TAB.

    Ghi chú:

    Đây là ví dụ kinh điển về tính nguyên tử của transaction.

    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:

    1	700
    2	800

    Chủ đề

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

    Đang tải editor...