Untitled

 avatar
unknown
plain_text
2 years ago
738 B
4
Indexable
DECLARE @new_book_id INT
SET @new_book_id = (SELECT COALESCE(MIN(book_id) + 1, 1) FROM books b1 WHERE NOT EXISTS(SELECT 1 FROM books b2 WHERE b2.book_id = b1.book_id + 1))

INSERT INTO books (book_id, title, author, status)
VALUES (@new_book_id, 'New Book Title', 'New Book Author', 'available')

Giải thích:

Trong câu lệnh SELECT đầu tiên, chúng ta sử dụng COALESCE để xác định số thứ tự tiếp theo trống bằng cách tìm kiếm số thứ tự nhỏ nhất mà không có cuốn sách nào có số thứ tự tiếp theo bằng nó.
Tiếp theo, chúng ta sử dụng câu lệnh INSERT để thêm sách mới vào bảng books với số thứ tự được lưu trữ trong biến @new_book_id.