简体   繁体   English

将Excel数据批量导入到SQL和GUID问题

[英]Bulk import of excel data into sql and GUID issue

There is an application that users use to capture data. 有一个用户用来捕获数据的应用程序。 For each record a uniqueidentifier is created and added to a row(GUID). 对于每个记录,都会创建一个唯一标识符并将其添加到行(GUID)。

There is a requirement to bulk upload by passing the application. 需要通过应用程序批量上传。 Data is stored in excel. 数据存储在excel中。 I am using the Microsoft.Jet.OLEDB.4.0 to select the data from Excel and doing C# SqlBulkCopy tyo insert the values. 我正在使用Microsoft.Jet.OLEDB.4.0从Excel中选择数据,并在C#SqlBulkCopy中插入了这些值。

Issue is setting the rowduid column to a new GUID for each record. 问题是将每个记录的rowduid列设置为新的GUID。 How can i achieve this. 我怎样才能做到这一点。 I thought by doing something like a "Select *, newguid as ID FROM [sheet1$]" but i dont know if there is such a query in excel. 我以为通过做类似“选择*,newguid为ID FROM [sheet1 $]”的事情,但是我不知道excel中是否存在这样的查询。 Please help. 请帮忙。 Thanks. 谢谢。

(Since a default value of NEWID() can't be created) Can you do a post-insert UPDATE, such as ... (由于无法创建默认值NEWID())您可以执行插入后更新,例如...

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM