ssdt:使用表创建脚本保存数据

时间:2015-07-06 23:53:29

标签: sql sql-server-data-tools database-project

我正在为现有数据库创建一个数据库项目,并希望将表创建脚本及其插入脚本保存在一起。我试过跟着

CREATE TABLE [dbo].[t1] (
   [ID]   INT            IDENTITY (1, 1) NOT NULL,
   [Desc] NVARCHAR (100) NOT NULL
)

GO
SET IDENTITY_INSERT [dbo].[t1] ON 
GO
INSERT INTO [dbo].[t1] ([ID], [Desc]) VALUES 
(1, N'dining'),
(2, N'lounge'),
(3, N'hall'),
GO
SET IDENTITY_INSERT [dbo].[t1] OFF
GO

并且它在Insert语句中给出了错误 'SQL70001:在此上下文中无法识别此语句。'

我记得我在之前的一个项目中看到了同样的内容,但却无法回忆起它是如何完成的。 任何帮助/建议表示赞赏。

2 个答案:

答案 0 :(得分:3)

正常情况是有一个post deploy脚本并将插入放入其中,如果你让它可以重新运行以添加"如果不存在则行插入"或者我首选的合并语句,即使它是为每个部署运行它也无关紧要。

tgriffin是对的,您可以通过Build操作将DML放入脚本中,并且无法在没有构建的情况下将DDL语句放在文件中,并将其包含在项目中。

答案 1 :(得分:0)

我认为当你在一个具有Build“Build”的脚本中拥有DML时会发生这种情况。右键单击脚本>将Build Action更改为None属性>构建动作,应解决错误。