【问题标题】:How do you access an SQL Server sequence from PowerShell with invoke-sqlcmd?如何使用 invoke-sqlcmd 从 PowerShell 访问 SQL Server 序列?
【发布时间】:2017-12-21 19:54:59
【问题描述】:

在我的 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"

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

我已经在查询中尝试了其他选择,这些都可以完美运行。

【问题讨论】:

    标签: sql-server powershell invoke-sqlcmd


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2013-06-09
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 2021-09-25
      • 2015-06-16
      • 2012-12-08
      • 1970-01-01
      • 2017-06-01
      相关资源
      最近更新 更多