我写了一个批处理文件来执行以下结构的一堆重复行:
sqlcmd "select somedata from table where table.attribute is like 'name'" > name_date.csv
where 是对确定哪些数据与特定命名硬件相关的属性进行过滤。然后我输出到文件,然后为其余的名称重复该行。_date 是从批处理文件中的变量设置的。DBMS 是 SQL 服务器。
这很好用并且可以很好地写出所有文件,这已经节省了时间,但是如果我要在另一个客户数据库上使用该批处理文件来为他们的硬件提取相同的数据,我必须手动更新每次重复批处理中的上述命令及其唯一名称列表。硬件名称可能从几个到数百个不等。我想做的是建立在它之上,因此它对于任何这些名称的列表都很有用,而无需人工干预。
我可以通过使用 select distinct 来隔离该唯一的名称列表,然后为每个循环制作某种循环,将这些唯一值中的每一个依次替换为 sqlcmd 并将每个值输出到一个单独的文件中,所有这些都在同一个批处理文件中,所以用户只需要在没有干预的情况下运行它,这超出了我的范围。
摘要:我想创建一个批处理文件,它运行一系列 sqlcmds,首先选择一个唯一名称列表,然后为每个名称选择与它们相关的某些数据并打印到具有该名称的 csv 文件,然后重复下一个唯一名称等
感谢您抽出宝贵时间,感谢您对进一步学习的任何提示和建议。