Почему $ Result = 1, даже если нет ошибки при операции вставки базы данных - PullRequest
0 голосов
/ 05 июня 2018

В приведенном ниже сценарии powershell я пытаюсь выполнить оператор вставки SQL в транзакции и попробовать / перехватить.

Нет ошибок, и я устанавливаю переменную $Result со значением 1 в блоке перехвата,до сих пор, когда я вижу значение = 1 Write-Host $Result

[CmdletBinding()]
Param(
    [string]$SQLServer='(local)'
)
# Database Update
Write-Host "Update Database" -ForegroundColor Green
& sqlcmd.exe -S $SQLServer -Q @"
USE [Test]
BEGIN TRANSACTION
BEGIN TRY
    INSERT INTO DBO.A1 (Name) VALUES ('test1')
COMMIT TRANSACTION
END TRY
BEGIN CATCH
    SELECT ERROR_MESSAGE() as ErrorMessage;
    $($Result =1)
    ROLLBACK TRANSACTION
END CATCH
"@

Write-Host $Result
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...