【问题标题】:How to add header comments when altering stored procedures in SQL Server更改 SQL Server 中的存储过程时如何添加标题注释
【发布时间】:2015-08-21 13:08:50
【问题描述】:

我有一个没有标头 cmets 的存储过程。我想添加它们,但无论何时尝试,它都不包含在内。

在 SQL Server Management Studio I 中:

1.右键我的存储过程,点击修改

USE [ABigDB]
GO
/****** Object:  StoredProcedure [dbo].[spDoWork]    Script Date: 21/08/2015 14:11:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spDoWork]
      @Id uniqueidentifier,
      @Session nvarchar(50),
      @XMLData xml
WITH EXECUTE AS OWNER
AS
BEGIN
--etc etc...
END

2.我将cmets粘贴到存储过程上方并运行脚本:

-- Stored Procedure
--    Author:           Dave
--    Create date:      21/08/2015
--    Description:      Does Stuff      
--  Change history
--      07/08/2015  - Overlord - Done stuff
--      06/08/2015  - Kerrigan - Done more stuff
USE [ABigDB]
GO
/****** Object:  StoredProcedure [dbo].[spDoWork]    Script Date: 21/08/2015 14:11:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spDoWork]
      @Id uniqueidentifier,
      @Session nvarchar(50),
      @XMLData xml
WITH EXECUTE AS OWNER
AS
BEGIN
--etc etc...
END

3.当我修改相同的存储过程时,它显示为:

USE [ABigDB]
GO
/****** Object:  StoredProcedure [dbo].[spDoWork]    Script Date: 21/08/2015 14:11:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spDoWork]
      @Id uniqueidentifier,
      @Session nvarchar(50),
      @XMLData xml
WITH EXECUTE AS OWNER
AS
BEGIN
--etc etc...
END

那么如何让 cmets 出现在那里?

【问题讨论】:

  • 尝试将 cmets 放在 ALTER PROCEDURE 下方,AS 之前
  • 尝试在顶部添加USE <your dbname where the stored procedure is created> GO,然后添加-- Stored Procedure -- Author: Dave -- Create date: 21/08/2015 -- Description: Does Stuff -- Change history -- 07/08/2015 - Overlord - Done stuff -- 06/08/2015 - Kerrigan - Done more stuff您的cmets,然后添加存储过程ALTER PROCEDURE [dbo].[spDoWork] @Id uniqueidentifier, @Session nvarchar(50), @XMLData xml WITH EXECUTE AS OWNER AS BEGIN --etc etc... END

标签: sql sql-server ssms sql-server-2014


【解决方案1】:

我通过以下方式解决了这个问题:

USE [ABigDB]
GO
/****** Object:  StoredProcedure [dbo].[spDoWork]    Script Date: 21/08/2015 14:11:45 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

-- Stored Procedure
--    Author:           Dave
--    Create date:      21/08/2015
--    Description:      Does Stuff      
--  Change history
--      07/08/2015  - Overlord - Done stuff
--      06/08/2015  - Kerrigan - Done more stuff

ALTER PROCEDURE [dbo].[spDoWork]
      @Id uniqueidentifier,
      @Session nvarchar(50),
      @XMLData xml
WITH EXECUTE AS OWNER
AS
BEGIN
--etc etc...
END

【讨论】:

  • 这基本上是@Abhishek 的答案——是的,你把你的评论标题放在 ALTER/CREATE PROCEDURE 行之前。
【解决方案2】:

考虑将中的元数据添加到您的过程、表格、列等中,以用于记录目的。

查看以下有助于查看 db 对象的内容。

Is it possible to add a description/comment to a table in Microsoft SQL 2000+

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 2010-12-12
    • 2019-03-17
    • 2011-11-07
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    相关资源
    最近更新 更多