Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Sql Server中混合使用Create存储过程和Insert语句_Sql_Sql Server_Stored Procedures - Fatal编程技术网

在Sql Server中混合使用Create存储过程和Insert语句

在Sql Server中混合使用Create存储过程和Insert语句,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我创建了许多单独运行的脚本,但被要求将它们组合起来,以便DBA只需执行一次。问题是我似乎无法将它们结合在一起运行。只有查询中的第一项才能运行。我如何格式化这些文件以在一个大脚本中一起运行 USE [DEV] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO Create PROCEDURE [dbo].[Projects] @ProjectID int,

我创建了许多单独运行的脚本,但被要求将它们组合起来,以便DBA只需执行一次。问题是我似乎无法将它们结合在一起运行。只有查询中的第一项才能运行。我如何格式化这些文件以在一个大脚本中一起运行

   USE [DEV]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    Create PROCEDURE [dbo].[Projects]
       @ProjectID            int,
       @ClientID             int
    AS
    BEGIN
        .....Cool procedure here
    END
   GRANT EXECUTE ON [dbo].[Projects] TO Admin, Employee

INSERT INTO random_table(stuff)
VALUES (stuff)

添加中间语句

USE [DEV]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    Create PROCEDURE [dbo].[Projects]
       @ProjectID            int,
       @ClientID             int
    AS
    BEGIN
        .....Cool procedure here
    END

   GO -- Add GO here

   GRANT EXECUTE ON [dbo].[Projects] TO Admin, Employee

   GO -- Add GO here
INSERT INTO random_table(stuff)
VALUES (stuff)

添加中间语句

USE [DEV]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    Create PROCEDURE [dbo].[Projects]
       @ProjectID            int,
       @ClientID             int
    AS
    BEGIN
        .....Cool procedure here
    END

   GO -- Add GO here

   GRANT EXECUTE ON [dbo].[Projects] TO Admin, Employee

   GO -- Add GO here
INSERT INTO random_table(stuff)
VALUES (stuff)

在每条语句后插入GO。

在每条语句后插入GO

USE [DEV]
    GO
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    Create PROCEDURE [dbo].[Projects]
       @ProjectID            int,
       @ClientID             int
    AS
    BEGIN
        .....Cool procedure here
    END
    GO //add Go after every statement
   GRANT EXECUTE ON [dbo].[Projects] TO Admin, Employee
   GO
   INSERT INTO random_table(stuff)
   VALUES (stuff)
尽管如此,我还是建议您从SQL server数据库生成数据库模式的脚本(包括存储过程、函数、表创建、插入、更新和删除),并将其与.SQL文件一起保存,而不必手动放置这些GO。看看这个好的


尽管如此,我还是建议您从SQL server数据库生成数据库模式的脚本(包括存储过程、函数、表创建、插入、更新和删除),并将其与.SQL文件一起保存,而不必手动放置这些GO。如果你在插入内容之前和之后放置
打印“test”
,请查看这一细节。是否打印了任何内容?请查看最后的回复!如果你把
打印“test”
放在插入内容之前和之后,是否打印了任何内容?请查看最后的回复!这也是我想要的。我只是被困在手动组合一些脚本,并意识到我不知道如何做。谢谢。如果你认为这对你有帮助的话,请把它标记为答案:=)这也是我更喜欢的方式。我只是被困在手动组合一些脚本,并意识到我不知道如何做。谢谢。如果您认为它对您有帮助,请将其标记为答案:=)效果很好。只需要添加Go即可。谢谢,很好用。只需要添加Go即可。谢谢