【问题标题】:dml query within WITH sqlWITH sql 中的 dml 查询
【发布时间】:2013-05-09 13:09:31
【问题描述】:

我只是假设我可以在 SQL Server 2008 中的 WITH 语句中放入 set query

于是我写了几行代码:

with temp as   
(
    SELECT row_number() OVER (ORDER BY [ShareItems].ItemId) AS Row, ItemId FROM [ShareItems]
)
set @row = ItemId //<---error

但我在上面得到了一个错误,但是在select语句使用WITH关键字的情况下,没有错误???

with temp as   
(
    SELECT 
        row_number() OVER (ORDER BY [ShareItems].ItemId) AS Row, ItemId 
    FROM [ShareItems]
)
SELECT ItemId 
FROM temp //<--- OK (no error)

有什么建议吗?

【问题讨论】:

    标签: sql sql-server sql-server-2008 tsql common-table-expression


    【解决方案1】:

    试试这个方法:

    with temp as   
    (
      SELECT row_number() OVER (ORDER BY [ShareItems].ItemId) AS Row, ItemId 
      FROM [ShareItems]
    )
    
    select  @row = ItemId from temp 
    

    【讨论】:

    • 你是第一个 :)) (+1)
    【解决方案2】:

    试试这个:

    with temp as   
        (
            SELECT row_number() OVER (ORDER BY [ShareItems].ItemId) AS Row, ItemId FROM [ShareItems]
        )
    SELECT @row = ItemId FROM temp
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多