gpt4 book ai didi

sql - 组织 SQL 批处理语句

转载 作者:行者123 更新时间:2023-12-04 06:10:28 25 4
gpt4 key购买 nike

我有一个 tsql 代码,它基本上是一堆包装在存储过程中的插入和更新语句,并将其作为 SP 执行,但是如果一个插入失败,则整个 SP 失败,那么有没有更好的方法来继续执行其余代码,如果一个插入失败。

代码是这样的:

Create SP As 
{
insert into Table A
--
--

insert into Table B
--
--

Insert into Table C
--
}

最佳答案

也许您可以将每个插入指令都包含在 TRY CATCH 块中

DECLARE @Errors TABLE(
Instruction VARCHAR(MAX),
Error VARCHAR(MAX)
)

BEGIN TRY
INSERT INTO TABLE A
END TRY
BEGIN CATCH
INSERT INTO @Errors VALUES ('TABLE A', ERROR_MESSAGE())
END CATCH

BEGIN TRY
INSERT INTO TABLE B
END TRY
BEGIN CATCH
INSERT INTO @Errors VALUES ('TABLE B', ERROR_MESSAGE())
END CATCH

--....

SELECT * FROM @Errors

希望这可以帮助。

关于sql - 组织 SQL 批处理语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7849943/

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