[英]SQL Server 2008: Insert variable into DML statements using Stored Procedure
[英]Mix Create Stored Procedure and Insert Statements in Sql Server
我创建了许多脚本来单独运行,但被要求将所有脚本组合在一起,因此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)
在语句之间添加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 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
GRANT EXECUTE ON [dbo].[Projects] TO Admin, Employee
GO -- added this "go" statement
INSERT INTO random_table(stuff)
VALUES (stuff)
在每个语句之后插入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手动。 看看这个好例子
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.