代码之家  ›  专栏  ›  技术社区  ›  CLR

从PowerShell问题执行的SQL创建多个存储过程

  •  1
  • CLR  · 技术社区  · 15 年前

    好吧,我有一点SQL和PowerShell问题。有两个SQL脚本,一个用于设置4个不同的全局存储过程。另一种方法是在将数据返回到ps并放在csv文件中之前执行它们并操作数据。我不把它们放在单个文件中的原因是为了可读性。进程包含大量的SQL块,我无法在我们的生产环境中创建永久的进程。

    我遇到的问题是,脚本在SQL mgmt studio中运行良好,但当由ps运行时,在脚本中的“go”周围会出现几个错误。

    我很确定这是PS和.NET类在执行和返回数据集时所期望的格式问题,但是…我有点茫然。

    我正在运行SQL Server 2005 btw。

    有什么想法或类似的经历吗?

    2 回复  |  直到 15 年前
        1
  •  2
  •   Aaron Bertrand    15 年前

    你会犯什么错误?如何执行每个文件?Go是一个批处理分隔符,只能由某些工具(如Management Studio)理解;PowerShell不知道Go的含义。是否尝试执行单独的创建过程脚本而不在它们之间发出go命令?如果它们是单独的命令,这不应该是问题。

        2
  •  2
  •   Darryl Peterson    15 年前

    “go”是SQL Management Studio使用的分隔符。它不是有效的SQL关键字。您可以配置SQL Management Studio,并根据需要将“Go”更改为“Engage”。

    只需从脚本中删除“go”。