gpt4 book ai didi

sql-server - 如果 USE [database] 在 SQL Server 中失败,则停止脚本执行

转载 作者:行者123 更新时间:2023-12-03 07:54:38 25 4
gpt4 key购买 nike

通常在 SQL Server 脚本中,我会在开始时使用 USE [database] 语句。例如,这将用于模式表创建脚本。

该脚本假设数据库已经存在。但是,为了防止意外地对主数据库运行脚本,我只希望脚本终止执行。

所以错误检查和 try...catch 不起作用。

错误检查

USE [MYDATABASE]

IF @@ERROR <> 0
BEGIN
RAISERROR ('Cannot find database so skipping script creation', 1, 1);
GOTO AbortScript
END

...

AbortScript:
PRINT 'Aborted!'

尝试捕获
BEGIN TRY
USE [MYDATABASE]
PRINT 'xxxx'
END TRY
BEGIN CATCH

PRINT 'OOps Errored'

END CATCH

你能捕捉到这些错误吗?我目前正在使用 SQL Server 2008 R2。

最佳答案

先检查数据库是否存在:

IF (NOT EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = 'mydatabase')) 
BEGIN
RAISERROR ('Cannot find database so skipping script creation', 1, 1);
GOTO AbortScript
END;

USE [MYDATABASE]

关于sql-server - 如果 USE [database] 在 SQL Server 中失败,则停止脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26234605/

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