SQL isNull函数的使用,不更新空值

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go


------------------------------------------------------
-- 生成日期: 2007-8-23 14:10:51
-- 创 建 者: Xuu27
-- 修 改 者:
-- 作    用:更改Basket中的一条记录(根据列的Null值)
-- 业务说明:
------------------------------------------------------
UPDATE PROCEDURE [dbo].[up_Basket_UPDATE_One_NullCheck]
(
@BasketID INT  =NULL,--购物车ID
@MemberID INT  =NULL,--会员ID
@DcSendGoodsTypeID INT  =NULL,--送货方式
@PayOrderType INT  =NULL,--支付订单方式
@Description VARCHAR(200)  =NULL,--描述
@ReceiverName VARCHAR(50)  =NULL,--收件人
@Telephone VARCHAR(50)  =NULL,--电话
@Mobile VARCHAR(50)  =NULL,--手机
@RegionID VARCHAR(50)  =NULL,--地区ID
@RegionName VARCHAR(50)  =NULL,--地区
@PostCode VARCHAR(50)  =NULL,--邮编
@Address VARCHAR(200)  =NULL,--地址
@UsedDcCashCardID INT  =NULL--使用的现金劵
)
AS

UPDATE [dbo].[Basket]
SET
--[BasketID] = ISNULL(@BasketID,[BasketID]),
[MemberID] = ISNULL(@MemberID,[MemberID]),
[DcSendGoodsTypeID] = ISNULL(@DcSendGoodsTypeID,[DcSendGoodsTypeID]),
[PayOrderType] = ISNULL(@PayOrderType,[PayOrderType]),
[Description] = ISNULL(@Description,[Description]),
[ReceiverName] = ISNULL(@ReceiverName,[ReceiverName]),
[Telephone] = ISNULL(@Telephone,[Telephone]),
[Mobile] = ISNULL(@Mobile,[Mobile]),
[RegionID] = ISNULL(@RegionID,[RegionID]),
[RegionName] = ISNULL(@RegionName,[RegionName]),
[PostCode] = ISNULL(@PostCode,[PostCode]),
[Address] = ISNULL(@Address,[Address]),
[UsedDcCashCardID] = ISNULL(@UsedDcCashCardID,[UsedDcCashCardID])
WHERE
[BasketID] = @BasketID


用了ISNULL,意思是,如果传入是null就用自己原来自己的值更新,实际上是保留原值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值