2013-05-14 103 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字段) –

相關問題