单个SP - SQL Server 2008的多个输出

时间:2016-06-16 13:50:53

标签: sql sql-server sql-server-2008

我一直在测试多种理论但有问题。我已经创建了一个SP和一个BAT命令来通过BCP导出文件并将其发送给第三方。通常我会在SP内进行BCP,但是由于服务器:文件夹连接,我正在尝试在BAT中执行%OUTFILE%(如果我让它复杂化,请告诉我。)

我无法发布整个代码,因此我会伪装替换它。

CREATE PROCEDURE
{{{populates a temp table}}}
SELECT {requirements} FROM #table;
SELECT {requirements2} FROM #table;
SELECT {requirements3} FROM #table;
END

现在这个以实时形式工作,很好。

我发送客户端的BAT文件是

SET hourVAR
SET OUTFILE="{FileDirectory}"
bcp "exec SPICreated" queryout %OUTFILE% params

通常我会在一个多步骤的工作中做这个(虽然我不能为他们做一个工作)或者我会让BAT文件包含整个BCP“SELECT FROM”但是select是~30列长,并且由于第三方供应商,我试图将所有“批量”放入SP。

任何人都可以提供有关我如何做得更好的见解吗?如果我将一个变量分配给“SELECT”部分,我可以从BAT文件中调用它吗? SQL Server不是我的强项。

(尝试不创建3个重复的SP,并尝试避免~100行BAT文件。)

---对于那些想知道的人来说,使用所有3个“SELECT”运行SP会导致它在编译中被破坏而不知怎的变为。

附加信息:这些都来自同一张表,但我需要3个不同文档中的3个不同的数据集。

数据类似:

1|2|3|4|5
A|B|C|D|E
Z|X|Y|V|C
AA|BB|3|D|5

我需要Document One

1|2|3
A|B|C
Z|X|Y
AA|BB|D

我需要文件二

1|5
A|E
Z|C
AA|3

我需要文件三

1|3
A|D
Z|V
AA|D

编辑:添加了数据示例以协助查询。查询已经可以在视图中获取数据,但不能用于BCP

0 个答案:

没有答案