代码之家  ›  专栏  ›  技术社区  ›  Matthew

当我将SQL列更新为自身时会发生什么?-或者-简化的条件更新?

  •  3
  • Matthew  · 技术社区  · 14 年前

    也许有更好的方法来处理这个问题。。。。

    CREATE PROCEDURE [dbo].[spUpdateTable] 
    
     @pPKID bigint = NULL,
     @pColumn1 int = NULL, 
     @pColumn2 int = NULL
    
    AS
    BEGIN
    
     SET NOCOUNT ON;
    
     UPDATE
        TableName
     SET
        [Column1] = ISNULL(@pColumn1,[Column1]),
        [Column2] = ISNULL(@pColumn2,[Column2])
    
     WHERE
        [PKID] = @pPKID
    END
    
    1 回复  |  直到 12 年前
        1
  •  2
  •   Joe Stefanelli    14 年前

    这与事务复制存储过程在更新订阅服务器上的表时所做的基本相同。如果微软自己做,一定是安全的,对吧?:-)