有没有办法获取具有大量值的csv文件,并将这些值提供给postgres select语句。例如,如果我有一个名为text.csv的csv文件,其值为1,2,3,4,5,6 ......我可以通过以下方式执行选择:
int main() {
A* varA = new C();
C* varC = static_cast<C*>(varA);
varC->f();
cout << "varC->a is " << varC->a << endl;
cout << "varC->b is " << varC->b << endl;
cout << "varC->c is " << varC->c << endl;
} // oops, forgot to delete varA/varC, memory leak!
答案 0 :(得分:2)
有一个fdw文件 - https://www.postgresql.org/docs/current/static/file-fdw.html - 外部数据包装器,允许您将文件用作表。
以下是示例 - http://www.postgresonline.com/journal/archives/250-File-FDW-Family-Part-1-file_fdw.html
答案 1 :(得分:-1)
这就是它可以做到的!
Select * from table where id in (
select id from openrowset('MSDASQL'
,'Driver={Microsoft Text Driver (*.txt; *.csv)}'
,'select * from c:\test.csv')
)
如果你的sql server没有为Ad Hoc Distributed Queries启用,请先在sql下面激活。
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
祝你好运!
Keyur