我目前正在尝试使用来自临时表的批量插入和来自 CSV 的信息,然后将此表的详细信息添加到当前表中(不必删除正确的表,因为它已经包含信息)我目前得到了这个:
请忽略一开始就删除的表,这是出于测试目的。现在,我对下一步需要做什么感到困惑,我是否只想使用更新表并声明列名并使用 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 多行