开发者社区> 问答> 正文

T-SQL UPDATE语句影响的记录比select语句少

T-SQL UPDATE语句影响的记录比select语句少

展开
收起
贺贺_ 2019-12-05 23:33:24 594 0
1 条回答
写回答
取消 提交回答
  • 这很容易证明。当有多个行符合连接谓词时,您将从select和update获得不同的行数。

    create table Header(HeadID int identity, Name varchar(50))
    insert Header select 'test'
    
    create table Details(DetailsID int identity, HeadID int, Name varchar(50))
    insert Details values(1, 'asdf'),(1,'qwer')
    
    select * --this returns 2 rows
    from Header h
    join Details d on d.HeadID = h.HeadID
    
    update h --only 1 row affected
    set Name = 'what?'
    from Header h
    join Details d on d.HeadID = h.HeadID
    
    2019-12-05 23:34:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载