Oracle PLSQL-基于非null的更新



我有一个PLSQL过程,它接收

FUNCTION VALIDATE_UPDATE_REQUEST (P_Orderno In Ord_Head.Order_No%Type,
P_First_Name In Ord_Address.First_Name%Type,
P_Last_Name  In Ord_Address.Last_Name%Type,
P_Address In Ord_Address.Add_1%Type,
P_Mobile In Ord_Address.Phone_No%Type)

名字,姓氏,地址,手机,订单号

四个参数:名字、姓氏、地址、手机可以为NULL或不能为NULL

如果它们不为空,我需要用参数中不为空的内容更新表

我该怎么做?

例如:

First Name: Robert
Last Name: NULL
Mobile: NULL
Add1 : First Street, 20A

基于此,我只需要更新Ord_Address 表中的First Name和Add1

嗯。。。不,你没有函数。这应该是一个过程,因为函数不能执行DML操作。

除此之外,程序会有这样的东西:

update your_table set
first_name = nvl(p_first_name, first_name),
last_name  = nvl(p_last_name, last_name),
address    = nvl(p_address, address),
mobile     = nvl(p_mobile, mobile)
where orderno = p_orderno;

相关内容

  • 没有找到相关文章

最新更新