Как использовать Invoke-SQLcmd для вставки строки и получения идентификатора строки? - PullRequest
0 голосов
/ 17 мая 2018

Я использую PowerShell и мне нужно вставить строку в таблицу SQL Server. Мне нужно получить идентификатор вставленной строки.

$SQLQuery = "INSERT INTO MyTable VALUES('{0}','{1}',{2},{3},{4}}" -f $Variable01, $Variable02, $Variable03, $Variable04

$idflowinstance = Invoke-SQLcmd -ServerInstance $env:dataserver -query $SQLQuery -Username $env:user -Password $env:pass -Database $env:database

1 Ответ

0 голосов
/ 17 мая 2018

Добавьте оператор SELECT после INSERT для возврата сгенерированного значения IDENTITY:

$SQLQuery = "INSERT INTO MyTable VALUES('{0}','{1}',{2},{3},{4}};SELECT SCOPE_IDENTITY();" -f $Variable01, $Variable02, $Variable03, $Variable04

Скалярное значение из результата DataRow можно получить с помощью этого выражения PowerShell после Invoke-SQLCmd:

$idflowinstance[0]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...