用户使用一个应用程序来捕获数据。对于每条记录,将创建uniqueidentifier并将其添加到行(GUID)。
要求通过传递应用程序批量上传。数据存储在excel中。我使用Microsoft.Jet.OLEDB.4.0从Excel中选择数据并执行C#SqlBulkCopy tyo插入值。
问题是将rowduid列设置为每条记录的新GUID。我怎样才能做到这一点。我想通过做一些像“Select *,newguid as ID FROM [sheet1 $]”这样的东西,但我不知道excel中是否有这样的查询。请帮忙。感谢。
答案 0 :(得分:0)
(由于无法创建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