私は現在、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行を選択しますが、毎回作成されるため、150行以上ではなく1000行以上になります