gpt4 book ai didi

SQL Server try catch 最终

转载 作者:行者123 更新时间:2023-12-01 19:32:20 32 4
gpt4 key购买 nike

我有一个场景,我需要类似于 .NET 的 try-catch-finally block 的内容。

在我的尝试中,我将创建一个#temp表,向其中插入数据并基于#temp处理其他数据集。

先是CATCH,然后是RAISERROR。是否可以使用 FINALLY block 来 DROP #temp?下面是伪代码:

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

最佳答案

尽管与 FINALLY 不完全相同,T-SQL 版本的 Try-Catch 确实允许需要在 Try 和 Catch block 之后执行的代码可以在 END CATCH 语句结束之后出现。以问题代码为例:

    BEGIN TRY
CREATE TABLE #temp
(
--columns
)
--Process data with other data sets
END TRY
BEGIN CATCH
EXECUTE usp_getErrorMessage
END CATCH;

IF OBJECT_ID('tempdb..#temp') IS NOT NULL -- Check for table existence
DROP TABLE #temp;

无论Try还是Catch执行,DROP TABLE命令都会执行。请参阅:BOL Try...Catch

关于SQL Server try catch 最终,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25789859/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com