Lồng cấu trúc TRY...CATCH
Bạn muốn đăng ký một người mua mới trong bảng buyers. Người mua mới này là Peter Thomson. E-mail của anh ấy là [email protected] và số điện thoại là 555000100.
Trong cơ sở dữ liệu cũng có một bảng tên là errors, nơi lưu trữ từng lỗi.
Bạn chuẩn bị một script để kiểm soát các lỗi có thể xảy ra khi chèn dữ liệu của người này. Script này cũng chèn các lỗi đó vào bảng errors.
Bạn sẽ chuẩn bị script như thế nào?
Bài tập này là một phần của khóa học
Giao dịch và Xử lý lỗi trong SQL Server
Hướng dẫn bài tập
- Bao quanh câu lệnh
INSERT INTO buyersbằng một khốiTRY. - Bao quanh phần xử lý lỗi bằng một khối
CATCH. - Bao quanh câu lệnh
INSERT INTO errorsbằng một khốiTRYkhác. - Bao quanh phần xử lý lỗi được lồng bên trong bằng một khối
CATCHkhác.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
-- Set up the first TRY block
___ ___
INSERT INTO buyers (first_name, last_name, email, phone)
VALUES ('Peter', 'Thompson', '[email protected]', '555000100');
___ ___
-- Set up the first CATCH block
___ ___
SELECT 'An error occurred inserting the buyer! You are in the first CATCH block';
-- Set up the nested TRY block
___ ___
INSERT INTO errors
VALUES ('Error inserting a buyer');
SELECT 'Error inserted correctly!';
___ ___
-- Set up the nested CATCH block
___ ___
SELECT 'An error occurred inserting the error! You are in the nested CATCH block';
___ ___
___ ___