gpt4 book ai didi

sql-server - 使用 If EXIST DROP 生成脚本,但不包括 SQL Server 中 CREATE 中的 If Not Exists

转载 作者:行者123 更新时间:2023-12-03 02:53:57 26 4
gpt4 key购买 nike

我想使用Tasks | 生成脚本使用 IF Exist Drop 存储过程生成脚本

但是我不想在生成脚本时包含 IF NOT EXISTS - Create Stored procedure 那么我该怎么办?

当前

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SPNAME]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[SPNAME]
GO

IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SPNAME]') AND type in (N'P', N'PC'))
BEGIN
EXEC dbo.sp_executesql @statement = N'CREATE PROCEDURE [dbo].[SPNAME] AS'
END
GO

必填

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SPNAME]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[SPNAME]
GO

CREATE PROCEDURE [dbo].[SPNAME] AS

谁能帮帮我吗!

最佳答案

没有直接的选项可以执行此操作。请按照以下步骤操作。

  1. 为所有对象生成 DROP 脚本。

    • 如果不存在则包含 = True
    • 脚本 DROP 和 CREATE = 脚本 DROP
  2. 为所有对象生成 CREATE 脚本。

    • 如果不存在则包含 = False
    • 脚本 DROP 和 CREATE = 脚本 CREATE
    • 附加到文件 = True

第二步将附加在第一步中生成的 Drops 脚本的内容。

如果要将所有文件合并到一个文件中,请使用以下命令

for %f in (*.sql) do type "%f" >> c:\Test\output.sql

查询选项

Query Options

删除

Drop

创建

Create

关于sql-server - 使用 If EXIST DROP 生成脚本,但不包括 SQL Server 中 CREATE 中的 If Not Exists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44675429/

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