如何处理更新存储过程中的可选参数 [英] how to handle optional parameters in a update stored procedure
本文介绍了如何处理更新存储过程中的可选参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要编写一个通用过程,根据参数为表中的一列或无列设置值.知道怎么做.
I need to write a generic procedure that set value for one column or no of a columns in a table depending on parameters. Any idea how to do it.
推荐答案
我猜你想要这样的:
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
.
It doesn't feel particularly elegant but if you don't know/can't guarantee which parameters will be passed I don't know of a better way than to test them in turn for NULL
.
这篇关于如何处理更新存储过程中的可选参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文