gpt4 book ai didi

sql - 如何在创建存储过程之前检查它是否存在

转载 作者:行者123 更新时间:2023-12-01 16:22:05 25 4
gpt4 key购买 nike

我有一个 SQL 脚本,每次客户端执行“数据库管理”功能时都必须运行该脚本。该脚本包括在客户端数据库上创建存储过程。其中一些客户端可能在运行脚本时已经具有存储过程,而另一些则可能没有。我需要将缺失的存储过程添加到客户端数据库中,但无论我如何尝试改变 T-SQL 语法,我都明白

CREATE/ALTER PROCEDURE' must be the first statement in a query batch

我读过在创作作品之前删除的内容,但我不喜欢这样做。

IF EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND name = 'MyProc')
DROP PROCEDURE MyProc
GO

CREATE PROCEDURE MyProc
...

如何添加对存储过程是否存在的检查,如果不存在则创建它,如果存在则更改它?

最佳答案

我意识到这已经被标记为已回答,但我们过去常常这样做:

IF NOT EXISTS (SELECT * FROM sys.objects WHERE type = 'P' AND OBJECT_ID = OBJECT_ID('dbo.MyProc'))
exec('CREATE PROCEDURE [dbo].[MyProc] AS BEGIN SET NOCOUNT ON; END')
GO

ALTER PROCEDURE [dbo].[MyProc]
AS
....

只是为了避免丢失程序。

关于sql - 如何在创建存储过程之前检查它是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2072086/

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