4

在我的 sql server 12.0 中,我创建了一个序列:

CREATE SEQUENCE [dbo].[SESSIONI_dv_seq] 
 AS [bigint]
 START WITH 1
 INCREMENT BY 1
 MINVALUE -9223372036854775808
 MAXVALUE 9223372036854775807
 CYCLE 
 CACHE; 

sql server management studio 完美运行:

select Next value for  dbo.SESSIONI_dv_seq 

返回正确的值。

此时,在一个powershell脚本中,我想使用invoke-sqlcmd获取一个新的序列值

$DataSet = Invoke-Sqlcmd -Database "alglogistica" -Query "SELECT SESSIONI_dv_seq_value=next value for dbo.sessioni_dv_seq;" -ServerInstance  "10.81.104.185\SQL14"

该语句不起作用(脚本没有返回错误)。

我在查询中尝试了其他选择,并且这些选择完美。

4

1 回答 1

1

像这样的东西?

$result = Invoke-SQLCmd -Database alglogistica `
    -query "SELECT next value for dbo.sessioni_dv_seq as SESSIONI_dv_seq_value" `
    -serverinstance  "10.81.104.185\SQL14"
$id = $result.SESSIONI_dv_seq_value
于 2017-07-17T10:49:14.047 回答