我一直在测试多种理论但有问题。我已经创建了一个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