简体   繁体   English

如何使用POWERSHELL脚本获取此SQL输出

[英]How do I obtain this SQL output using a POWERSHELL script

I have a set of SQL instructions and I want a precise output using a powershell script. 我有一组SQL指令,并且希望使用Powershell脚本进行精确的输出。 I'm a total ignorant regarding PS scripts and SQL. 我对PS脚本和SQL一无所知。 Could someone help me on how to do it? 有人可以帮我怎么做吗?

\\\\\\\\\\\\\\\\\\\\\\ SQL CODE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\ SQL CODE \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

DECLARE @table_name SYSNAME
    SELECT @table_name = 'Godzilla.Jobs'

    DECLARE 
          @object_name SYSNAME
        , @object_id INT

    SELECT 
          @object_name = '[' + s.name + '].[' + o.name + ']'
        , @object_id = o.[object_id]
    FROM sys.objects o WITH (NOWAIT)
    JOIN sys.schemas s WITH (NOWAIT) ON o.[schema_id] = s.[schema_id]
    WHERE s.name + '.' + o.name = @table_name
        AND o.[type] = 'U'
        AND o.is_ms_shipped = 0


    Etc....

\\\\\\\\\\\\\\\\\\ THE OUTPUT I WANT \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\我想要的输出\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

        CREATE TABLE [Godzilla].[Jobs]
        (
                 [JobId] BIGINT NOT NULL
               , [MacAddressWifi] NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
               , [SerialNumber] NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
               , [TrpId] NVARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
               , [SniffsPackage] NVARCHAR(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
               , [DecryptPackage] NVARCHAR(4000) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
               , [StatusID] INT NOT NULL
               , [DateInsert] DATETIME NOT NULL
               , [DateUpdate] DATETIME NULL
               , [EstimatedTime] BIGINT NULL
               , [Priority] BIGINT NULL
        )

There isn't a built-in "PowerShell" way of running a SQL query. 没有内置的“ PowerShell”方式来运行SQL查询。 If you have the SQL Server tools installed, you'll get an Invoke-SqlCmd cmdlet. 如果安装了SQL Server工具则将获得Invoke-SqlCmd cmdlet。

Because PowerShell is built on .NET, you can use the ADO.NET API to run your queries. 由于PowerShell是基于.NET构建的,因此您可以使用ADO.NET API来运行查询。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM