Tôi có một kịch bản mà tôi cần một cái gì đó tương tự như .NET's try-catch-finally block.
SQL Server TRY catch cuôi
On thử của tôi, tôi sẽ CREATE a #temp table
, INSERT
dữ liệu để nó & quá trình tập hợp dữ liệu khác dựa trên #temp
.
Trên CATCH
rồi RAISERROR
. Có thể có một khối FINALLY
tới DROP #temp
không? Dưới đây là mã giả:
BEGIN TRY
CREATE TABLE #temp
(
--columns
)
--Process data with other data sets
END TRY
BEGIN CATCH
EXECUTE usp_getErrorMessage
END CATCH
BEGIN FINALLY
DROP TABLE #temp
END FINALLY
có thể trùng lặp với [Cuối cùng khoản trong giao dịch SQL Server? Một cái gì đó sẽ thực hiện không phân biệt thành công hay thất bại?] (Http://stackoverflow.com/questions/13054101/finally-clause-in-sql-server-transaction-something-that-will-execute-irrespecti) – stuartd
Không, có không có CUỐI CÙNG. Bạn có thấy bất kỳ tham chiếu nào đến nó [trong tài liệu] (http://msdn.microsoft.com/en-us/library/ms175976.aspx) không? Bạn có chắc chắn muốn xóa một cách rõ ràng các bảng #temp của mình không? –