Ich habe eine einfache gespeicherte SQL Server-Prozedur, die einen Eingabeparameter akzeptiert und einen Ausgabeparameter setzt. Das Wesen der gespeicherten Prozedur ist wie folgt:Wie bekomme ich den Wert einer gespeicherten Prozedur OUTPUT-Variable
CREATE PROC SomeDB.dbo.SomeProc
@input varchar(255),
@output int OUTPUT
AS
IF @input = 'a'
BEGIN
SET @output = 0;
END
ELSE
BEGIN
SET @output = 1;
END
;
GO
ich den Wert des @output
Variable in Powershell erhalten möge. Wenn ich dies in SSMS tun wäre, würde ich so etwas wie:
DECLARE @out int;
EXEC SomeDB.dbo.SomeProc 'a', @out OUTPUT;
PRINT @out;
Aber ich glaube nicht, dass in Powershell so einfach ist.
Hier ist mein Skript so weit in Powershell (was ich weiß, ist nicht vollständig):
$ErrorActionPreference = "Stop"
$server = "some_IP_address"
$db = "SomeDB"
$input = "'a'"
$query = "EXEC dbo.SomeProc $input;"
try {
Invoke-Sqlcmd -ServerInstance $server -Database $db -Query $query -QueryTimeout 60000
} catch {
Write-Host "stored proc error"
}
Wie bekomme ich den Wert des @output
Variable in Powershell?