开发者社区 问答 正文

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

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

展开
收起
贺贺_ 2019-12-05 23:33:24 606 分享
分享
版权
举报
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 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论