2

我需要使用存储过程将数据导出到 CSV。我正在使用该bcp.exe实用程序导出数据

select @sql = 'bcp dbo.Customers out c:\bcp\customers.txt -c -t, -T -S'+ @@servername
exec master..xp_cmdshell @sql

我需要File Ended在 CSV 的末尾添加一个带有列名和文本的标题。

表结构是这样的

ID    Name
 1    'joe'
 2    'jon'

在 CSV 中应该是这样的

ID,Name
1,joe
2,jon
END_OF_FILE

我创建了一个包含列标题和数据的视图

select 'ID' as ID , 'Name' as Name 
union all 
select ID, Name from Customer

我需要File Ended在 CSV 末尾附加

任何想法将不胜感激

4

2 回答 2

2
select 'ID' as ID , 'Name' as Name 
union all 
select cast(ID as varchar(max)), Name from Customer
union all
select 'End of file', ''

甚至更好:

SELECT 'ID, Name' as line
UNION ALL
SELECT cast(ID as varchar(max))+', '+Name FROM Customer
UNION ALL
SELECT 'End of file'
于 2012-07-27T14:21:46.370 回答
1

你需要更多的处理。例如,这些 DOS 命令将创建一个customers2.txt带有页眉和页脚的文件:

echo Header Line > c:\bcp\customers2.txt
type c:\bcp\customers.txt >> c:\bcp\customers2.txt
echo Footer Line >> c:\bcp\customers2.txt
于 2012-07-27T14:18:04.677 回答