我当前正尝试使用CSV中的信息从临时表中进行批量插入,然后将此表的详细信息添加到当前的表中(而不必删除适当的表,因为它包含的信息已经)我目前得到了这个:使用CSV(SQL)从临时表批量更新/插入
请忽略开始时放弃表,这是为了测试目的。现在我对下一步需要做的事情有点遗憾,我是否只想使用更新表并指定列名并使用FROM语句。
DROP TABLE #Currencies
CREATE TABLE #Currencies(
suffix nvarchar(50) NULL,
name nvarchar(50) NULL,
iso nvarchar(50) NULL)
GO
BULK INSERT #Currencies
FROM 'C:\Documents and Settings\ntaylor\Desktop\Currencies.csv'
WITH(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n')
GO
ALTER TABLE #Currencies
ADD version_number int NOT NULL default 1,
[precision] int NULL,
cur_id [uniqueidentifier] NOT NULL default newid(),
exchange_rate decimal(19,5) NULL,
[default] bit NULL
GO
UPDATE #Currencies
SET [precision] = 2, exchange_rate = 1, [default] = 0
ALTER TABLE tbl_ecom_currency
ALTER COLUMN suffix nvarchar(50)
INSERT INTO tbl_ecom_currency (suffix, name, iso, version_number, [precision], cur_id, exchange_rate, [default])
SELECT suffix, name, iso, version_number, [precision], cur_id, exchange_rate, [default]
FROM #Currencies
执行这个查询之后,我似乎有它的创建所有表中的行的问题,但他们似乎并没有被正确的行,因为他们是不是有当我点击编辑前200行然而,它似乎工作时,我选择了前1000行,但它创建它们每一次,所以我有1000 +行现在反对150+
你想要做什么更新? –
基本上我试图得到3个新的列,名称,前缀和ISO,因为他们有信息添加到他们(因为我最近才添加在此信息中),并插入到现有的表中,而不必删除原。 –
你为什么想这样做?为什么不只是创建一个新表,将数据复制并删除原来的?我认为你过于复杂。似乎要走到我的路上。 – Ben