2013-05-14 10 views
8

私は答えを探していたが、見つけられなかった。SQL Server - プライマリキーなしでスクリプトを生成

私は自分のデータのスクリプトを作成しようとしています(つまり、すべてのINSERT INTOコマンド)。 アクセス許可があるため、SET IDENTITY_INSERT TABLE OFFとONを実行できません(私はステージングでユーザーアプリケーションを使用しています)

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ステートメントは、INSERTステートメント・テキストをField1の値と連結して生成されます。

+0

OMG、それは私がそれについて考えたことがないほど簡単でした!私は、カーソルをフェッチするなど、いくつかのSPを作ることを考えていました。どうもありがとう。 –

+2

これは、データを変換する必要があり、正規表現を持たない多くの状況で便利です...それは何年にもわたって私を数回保存しました! – FlipperPA

+0

とは何ですか?私はnull(smalldatetimeフィールド)を持つレコードをいくつか持っています –

関連する問題