Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Stored procedure SQL che impedisce di scrivere null

Sono ancora un po 'confuso dalla tua domanda, ma dovrebbe funzionare da quanto ho capito. Invece di tutti gli IF dichiarazioni, considera di passare a un singolo CASE istruzione, impostando il valore predefinito su 0. Quindi aggiungi un segno di spunta se il valore non è 0, per fare qualcosa.

DECLARE @Level int
DECLARE @Total int
DECLARE @NewPoint int

SET @Level = 61
SET @Total = 100

SELECT 
  @NewPoint = CASE
                WHEN @Level = 61 AND @Total < 482 THEN 10
                WHEN @Level = 62 AND @Total < 487 THEN 15
                WHEN @Level = 63 AND @Total < 492 THEN 20
                WHEN @Level = 64 AND @Total < 497 THEN 25
                WHEN @Level = 65 AND @Total < 502 THEN 30
                ELSE 0
              END

IF @NewPoint <> 0 
BEGIN
  SELECT 'DO SOMETHING'
END