在下面的powershell脚本中,我正在执行多个SQL语句。所有SQL语句都在事务中。现在,如果出现任何错误,执行将属于BEGIN CATCH,我的所有事务都将回滚。
现在我想在这里添加一条消息,在前面或后面使用“Write Host”
ROLLBACK TRANSACTION
.
[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')
INSERT INTO DBO.A2 (Name) VALUES ('test1')
COMMIT TRANSACTION
END TRY
BEGIN CATCH
SELECT ERROR_MESSAGE() as ErrorMessage;
ROLLBACK TRANSACTION
END CATCH
"@
这可能吗?