gpt4 book ai didi

sql - 您应该将 SQL 存储过程存储在源代码管理中吗?

转载 作者:行者123 更新时间:2023-12-02 08:04:13 24 4
gpt4 key购买 nike

当开发包含大量存储过程的应用程序时,是否应该将它们存储在某种源版本控制系统(例如源安全、TFS、SVN)中?如果是这样,为什么?是否有一种方便的前端方法可以使用 SQL Server Management Studio 执行此操作?

最佳答案

是的。所有代码都应存储在源代码管理中。

简单地说,代码就是代码,错误总会发生。很高兴能够回去看看随着时间的推移发生了什么变化,并能够回到这些变化。

我们必须手动将其添加到源代码控制系统,但您可以为 Sql Server 管理系统创建插件。我还没有创建过一个自动将其添加到源代码管理的工具,但我想你可以。此外,所有代码都存储在 sql 表中,因此理论上您可以创建一个流程或其他内容来遍历表并检索所有代码并自动提交。

更新:我总是会编写额外的代码来检查代码是否存在以及它是否不创建填充程序,然后实际的脚本执行并更改程序。

IF NOT EXISTS (SELECT * FROM dbo.sysobjects WHERE 
id = OBJECT_ID(N'[dbo].[SomeStoredProcedure]') AND
OBJECTPROPERTY(id,N'IsProcedure') = 1)

EXEC sp_executesql N'CREATE PROCEDURE [dbo].[SomeStoredProcedure] AS

SELECT ''SPROC Template'''

GO

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

ALTER PROCEDURE SomeStoredProcedure

执行删除并重新创建操作将删除您为其设置的所有用户权限。

关于sql - 您应该将 SQL 存储过程存储在源代码管理中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/567405/

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