我想在未触发更新查询时在屏幕上显示弹出窗口。 我正在使用Raiserror引发错误并显示弹出窗口中显示的自定义错误消息。
if(some condition)
begin
update Tab1vendorInside
set
VendorBatchCode=a.VendorBatchCode,
Quantity=a.Quantity,--case When (PlannedDispatchQty>=a.Quantity) then a.Quantity Else 0 end,
OfferedForInspectionOn=convert(varchar(80),convert(date, getdate())),
[Time]=convert(varchar(8), convert(time, getdate())) ,
CTDTDSReference=a.CTDTDSReference,
Certificateupload=a.Certificateupload,
Active=a.Active
from @TP a
inner join Tab1vendorInside
on a.ID=Tab1vendorInside.ID and
a.Material=Tab1vendorInside.Material
and Datepart(mm,a.PlannedDispatchQtyDate)=Datepart(mm,Tab1vendorInside.PlannedDispatchQtyDate)
and Datepart(year,a.PlannedDispatchQtyDate)=Datepart(year,Tab1vendorInside.PlannedDispatchQtyDate)
inner join Tab1Vendor
on Tab1Vendor.Material=a.Material and Tab1Vendor.ID=a.TaboneVendorID
and Datepart(mm,a.PlannedDispatchQtyDate)=Datepart(mm,Tab1Vendor.PlannedDateofDispatch)
and Datepart(year,a.PlannedDispatchQtyDate)=Datepart(year,Tab1Vendor.PlannedDateofDispatch)
end
else
begin
--if it enters else, logically it means that the data is updated.
begin try
select 16/0
end try
begin catch
RAISERROR('Quantity limit exceeded! Data insert/update failed.',16,1);
end catch
end
它的工作正常,但问题是,我收到附加到我的自定义消息的附加消息。
超出数量限制!数据插入/更新失败。警告:无效 通过聚合或其他SET操作消除值。
我想摆脱警告Null值被删除 ......等等 我应该怎么做?
答案 0 :(得分:2)
试试这个:
SET ANSI_WARNINGS OFF
这将取消您所看到的警告。但是看起来它也可以通过在查询中的某处添加NULL检查来修复。我无法说明您的代码尚未发布的详细信息。
如果您确实选择了禁止警告的快速解决方法,请确保在代码中再次启用它,方法是执行以下操作:
SET ANSI_WARNINGS ON