Câu hỏi phỏng vấn T-SQL
Câu hỏi

Những lệnh xử lý lỗi mới nào được giới thiệu với SQL Server 2005 và các phiên bản sau?

Câu trả lời

SQL Server 2005 và các phiên bản sau đã giới thiệu một số cải tiến đáng kể trong xử lý lỗi, bao gồm cấu trúc TRY...CATCH. Cấu trúc này cho phép các nhà phát triển bắt và xử lý lỗi một cách linh hoạt và hiệu quả hơn trong T-SQL.

  • TRY...CATCH: Cấu trúc này bao gồm hai phần: một khối TRY chứa các lệnh SQL có thể phát sinh lỗi, và một khối CATCH chứa các lệnh SQL được thực thi khi một lỗi xảy ra trong khối TRY. Cấu trúc này giúp xử lý lỗi một cách rõ ràng và dễ dàng hơn.

  • ERROR_NUMBER(): Hàm này trả về số lỗi của lỗi gần nhất xảy ra trong khối CATCH.

  • ERROR_SEVERITY(): Hàm này trả về mức độ nghiêm trọng của lỗi gần nhất xảy ra.

  • ERROR_STATE(): Hàm này trả về trạng thái của lỗi gần nhất xảy ra.

  • ERROR_PROCEDURE(): Hàm này trả về tên của thủ tục hoặc trigger nơi lỗi gần nhất xảy ra.

  • ERROR_LINE(): Hàm này trả về số dòng trong batch hoặc trong thủ tục nơi lỗi gần nhất xảy ra.

  • ERROR_MESSAGE(): Hàm này trả về thông điệp lỗi đầy đủ của lỗi gần nhất xảy ra.

Những cải tiến này đã làm cho việc xử lý lỗi trong SQL Server trở nên dễ dàng và linh hoạt hơn, giúp các nhà phát triển có thể xác định và xử lý các vấn đề một cách hiệu quả hơn.

Citations:
[1] https://www.itprotoday.com/sql-server/error-handling-sql-server-2005
[2] https://www.red-gate.com/simple-talk/databases/sql-server/t-sql-programming-sql-server/defensive-error-handling/
[3] https://www.sommarskog.se/error_handling/Part2.html
[4] https://www.sommarskog.se/error_handling/Part3.htm...

junior

junior

Gợi ý câu hỏi phỏng vấn

middle

Khác nhau giữa Azure SQL Database và Azure SQL Managed Instance?

expert

Từ góc độ T-SQL, làm thế nào bạn có thể ngăn chặn mã T-SQL được thực thi trên một máy chủ SQL sản xuất?

junior

OFFSETFETCH trong T-SQL là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào