我當前正嘗試使用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