如何编写SQL脚本来读取文件的内容

时间:2016-06-09 07:28:25

标签: sql oracle csv xlsx

我有一个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新手,我还在学习。

1 个答案:

答案 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中的文件中读取并不是很好的选择。