如何处理更新存储过程中的可选参数 [英] how to handle optional parameters in a update stored procedure

查看:34
本文介绍了如何处理更新存储过程中的可选参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要编写一个通用过程,根据参数为表中的一列或无列设置值.知道怎么做.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆