2017-07-17 45 views
3

在我的SQL Server 12.0我創建了一個序列:如何使用invoke-sqlcmd從PowerShell訪問SQL Server序列?

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腳本中我想用,以獲得一個新的序列值則啓動-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" 

這種說法不工作(沒有任何腳本返回錯誤)。

我已經嘗試過其他選擇在查詢中,這些工作完美。

回答

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 
+0

它的工作原理。大。 – edoardo

相關問題