gpt4 book ai didi

SQL 服务器 : Terminate SQL From Running

转载 作者:行者123 更新时间:2023-12-05 03:16:07 24 4
gpt4 key购买 nike

如果 if 语句为真,即使使用“GO”,是否还有办法阻止脚本运行?

例如我想做类似下面的事情:

insert into table1 (col1, col2) value ('1', '2')
GO
if exists(select * from table1 where col1 = '1')
BEGIN
--Cause Script to fail
END
GO
insert into table1 (col1, col2) value ('1', '2') --Wont run

这样做的实际目的是防止表创建脚本/插入/删除/更新在我们丢弃包供 DBA 运行时运行多次。

最佳答案

GO 不是 transact-sql 关键字 - 它实际上是常见 SQL Server 工具理解的批处理终止符。如果您在您的应用程序中使用它,您的应用程序将失败。

你为什么不做这样的事情?

IF NOT EXISTS (select * from table1 where col1 = '1')
BEGIN
--Do Some Stuff
END

如果满足条件,则不会中止脚本,而是仅在满足条件时才运行脚本。

或者,您可以将代码包装在过程中并使用 RETURN 退出过程。

关于SQL 服务器 : Terminate SQL From Running,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/956350/

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