我需要编写一个通用过程,根据参数设置表中一列或不列的值。不知道怎么做。
答案 0 :(得分:0)
我猜你想要的东西是:
CREATE PROC UpdateProc
@RowID UNIQUEIDENTIFIER,
@Parameter1 NVARCHAR(50) NULL,
@Parameter2 INT NULL
AS
SET NOCOUNT ON
GO
IF @Parameter1 IS NOT NULL
BEGIN
UPDATE MyTable
SET Column1 = @Parameter1
WHERE ID = @RowID
END
IF @Parameter2 IS NOT NULL
BEGIN
UPDATE MyTable
SET Column2 = @Parameter2
WHERE ID = @RowID
END
它感觉不是特别优雅,但如果你不知道/不能保证哪些参数将被传递,我不知道比NULL
依次测试它们更好的方法。< / p>