2013-05-14 63 views
8

我在找一个答案,但找不到它。SQL Server - 无主键生成脚本

我想让我的数据生成的脚本(我的意思是,所有的INSERT INTO命令)。 因为访问权限,我不能做一个SET IDENTITY_INSERT表关和开(我用的临时用户应用程序)

因此,有一种方法,使在SQL Server管理这个脚本,并避免现场与主键? 我设置为false所有属性(主,唯一等),但脚本仍在发送此字段(例如,RecID 1,2,3等)。

我使用SQL Server 2012的

亲切的问候,

任何解决方案(除了用记事本将其删除++)是preciated。 请查询/编辑downvoted面前,对不起,我的英语:)

UPDATE:我的配置脚本:

enter image description here

结果我得到:

SET IDENTITY_INSERT -TABLE- ON 
INSERT INTO TABLE (ID,Field1) VALUES (1,'value') 

回答

11

一点点工作,但有时候做这些事情有时是很有用的快速和肮脏的方式:

SELECT 'INSERT INTO TABLE (Field1) VALUES (''' + Field1 + ''')' FROM TABLE 

结果集将是表TABLE中每一行的每个插入语句的一行。 INSERT语句是通过将INSERT语句文本与Field1中的值连接而生成的。

+0

OMG,这很容易,我从来没有想过它!我在考虑用取光标等来制作一些SP。非常感谢。 –

+2

它适用于许多情况下,当你需要转换数据,并没有正则表达式方便...多年来它已经救了我几次! – FlipperPA

+0

和空值?我有一些记录与null(smalldatetime字段) –

相关问题