我有一个SQL脚本和一个" .csv"文件。我希望SQL脚本从" .csv"中读取数据。文件而不是手动输入脚本中的数据。有可能吗?
....
.....
......
and SP_F.trade_id = SP_R.trade_id
and SP_R.iSINCode IN (here is where I can manually enter the data)
ps:我是SQL新手,我还在学习。
答案 0 :(得分:1)
Here是一个很好的解决方案。
GetService
更多解释:
1)我们有一个名为 test.csv 的csv文件,内容如下:
BULK INSERT CSVTest
FROM 'c:\csvtest.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
2)我们需要在DB中为这个文件创建表格:
'JE000DT', 'BE000DT2J', 'DE000DT2'
1, 2, 3
2, 3, 4
4, 5, 6
3)使用BULK INSERT插入数据。列数和类型必须与您的csv匹配。
CREATE TABLE CSVTest ([columnOne] int, [columnTwo] int, [columnThree] int)
4)在您的子查询中使用此表:
BULK INSERT CSVTest
FROM 'C:\test.csv'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n',
FIRSTROW = 2
)
使用 OPENROWSET 语句还有另一种解决方案,它允许直接从文件中读取。但我强烈建议您使用上述解决方案。直接从QUERY中的文件中读取并不是很好的选择。