0

ユーザーがデータをキャプチャするために使用するアプリケーションがあります。レコードごとに一意の識別子が作成され、行 (GUID) に追加されます。

申請をパスして一括アップロードする必要があります。データはエクセルに保存されています。Microsoft.Jet.OLEDB.4.0 を使用して Excel からデータを選択し、C# SqlBulkCopy を実行して値を挿入しています。

問題は、rowduid 列を各レコードの新しい GUID に設定することです。どうすればこれを達成できますか。「Select *, newguid as ID FROM [sheet1$]」のようなことをして考えましたが、Excel にそのようなクエリがあるかどうかはわかりません。助けてください。ありがとう。

4

1 に答える 1

0

(NEWID() のデフォルト値を作成できないため) 挿入後の UPDATE などを行うことはできますか?

CREATE TABLE ##GUID(
    ID INT,
    ValueOne VARCHAR(1),
    NewGuid UNIQUEIDENTIFIER
)

INSERT INTO ##GUID (ID,ValueOne)
VALUES (1,'A')
    , (2,'B')
    , (3,'C')

SELECT *
FROM ##GUID

-- after the INSERT, update the table with the GUID
UPDATE ##GUID
SET NewGuid = NEWID()

SELECT *
FROM ##GUID

DROP TABLE ##GUID
于 2013-08-19T17:36:31.993 に答える