Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用T-SQL在SQL Server中输出非结构化文件?_Sql_Sql Server_File_Tsql_File Io - Fatal编程技术网

如何使用T-SQL在SQL Server中输出非结构化文件?

如何使用T-SQL在SQL Server中输出非结构化文件?,sql,sql-server,file,tsql,file-io,Sql,Sql Server,File,Tsql,File Io,在使用T-SQL的SQL Server中,如何将具有“详细信息页眉”、“详细信息”和“页脚”记录的非结构化文件输出到一个具有不同逗号分隔值计数的文件 这是文件输出结构的一个示例: 1|header|value0|date 2|detail|value1|value2|value3|date 3|detail|value1|value2|value3|date 4|detail|value1|value2|value3|date 5|header|value0|date 6|detail|valu

在使用T-SQL的SQL Server中,如何将具有“详细信息页眉”、“详细信息”和“页脚”记录的非结构化文件输出到一个具有不同逗号分隔值计数的文件

这是文件输出结构的一个示例:

1|header|value0|date
2|detail|value1|value2|value3|date
3|detail|value1|value2|value3|date
4|detail|value1|value2|value3|date
5|header|value0|date
6|detail|value1|value2|value3|date
7|detail|value1|value2|value3|date
8|header|value0|date
9|detail|value1|value2|value3|date
footer|9
数据示例:

1|H|laptops|2013-01-30
2|D|cpu1|disk1|ram1|2013-01-30
3|D|cpu2|disk2|ram2|2013-01-30
4|D|cpu3|disk3|ram3|2013-01-30
5|H|desktops|2013-01-30
6|D|cpu4|disk4|ram4|2013-01-30
7|D|cpu5|disk5|ram5|2013-01-30
8|H|servers|2013-01-30
9|D|cpu6|disk6|ram6|2013-01-30
footer|9

谢谢你的帮助

我将给出我的想法,请执行此操作并更新我,要将查询中的数据写入文件,请参阅下面的链接

来编写查询,该查询将为您提供输出

看起来像

假设你有3张桌子 A、 b,c

请随时通知我

我想这是可以做到的,但如果您使用ETL工具,我会很容易做到

问候


Ashutosh

预期结果是什么?详细记录与其标题记录相关。或者,您是指数据类型吗?是否要将此文件加载到其他表中的数据库中?否,我要以这种格式输出文件。是否要在SQL Server中执行文件IO?
A have 2 coloums
B have 3 coloums
C have 4 coloums


SELECT {WRITE Your Hedder here} as ROW

UNION

SELECT 1+'|'+2+'|'+3+'|'+4 AS ROW
(SELECT A.1,A.2,Null 3,Null 4 FROM A
UNION
SELECT B.1,B.2,B.3,Null 4 FROM B
UNION
SELECT C.1,C.2,C.3,C.4 FROM C
)

SELECT {WRITE Your Footer here} as ROW