Je veux afficher une fenêtre contextuelle à l'écran lorsqu'une requête de mise à jour n'est pas déclenchée. J'utilise Raiserror pour augmenter et erreur et afficher un message d'erreur personnalisé qui est affiché dans le popup.Comment se débarrasser du message d'avertissement de Raiserror personnalisé - SQL Server
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
Bien que cela fonctionne très bien, mais le problème est, je reçois un message supplémentaire attaché à mon msg personnalisé.
Quantité limite dépassée! L'insertion/mise à jour des données a échoué. Avertissement: La valeur nulle est éliminée par un agrégat ou une autre opération SET.
Je veux me débarrasser de la Avertissement valeur NULL est éliminé ... etc etc comment dois-je faire?
En fait, je l'ai déjà essayé. n'a pas aidé. Pouvez-vous m'expliquer sur la valeur nulle? J'ai modifié mon code. Sa requête de mise à jour et ne pas insérer – Wocugon
Maintenant, je peux voir votre code, l'erreur augmenter se passe dans un bloc de code qui est exécuté parce que la condition sur la ligne 1 est fausse, donc ce n'est pas quelque chose à faire avec votre déclaration de mise à jour. – Rob212
Voir une bonne explication de l'avertissement courtoisie de sqlauthority: https://blog.sqlauthority.com/2015/02/13/sql-server-warning-null-value-is-eliminated-by-an-agrgregate-or- autre-ensemble-opération / – Rob212