解决方案 »

  1.   

    CREATE PROCEDURE PROC1
    @ID INT,@NUM INT,@NAME VARCHAR(10),@COLOR VARCHAR(10)
    AS
    BEGIN
    IF @ID IS NOT NULL
    OR @NUM IS NOT NULL
    OR @NAME IS NOT NULL
    OR @COLOR IS NOT NULL--加个判断以免全部为NULL,也全表更新
    UPDATE table_a
    SET id=ISNULL(@ID,id)
    ,num=ISNULL(@NUM,num)
    ,name=ISNULL(@NAME,name)
    ,color=ISNULL(@COLOR,color)
    END
    GO
    EXEC PROC1 null,null,'茉莉花','白'SELECT * FROM table_a
      

  2.   

    看上去是把所有记录都改成一样的了,那就每次改一个字段好了, null 就忽略 .