sql >> Database >  >> RDS >> Sqlserver

Opgeslagen SQL-procedure verhindert het schrijven van null

Ik ben nog steeds een beetje in de war door uw vraag, maar dit zou moeten werken zoals ik het begrijp. In plaats van alle IF uitspraken, overweeg dan om naar een enkele CASE te gaan statement, waarbij de waarde standaard op 0 staat. Voeg vervolgens een vinkje toe als de waarde niet 0 is, om iets te doen.

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


  1. Hoe wamp-server te repareren zonder opnieuw te installeren?

  2. Definieer de stappen voor de SQL Server-cursor - SQL Server / TSQL-zelfstudie

  3. Hoe de Time()-functie werkt in SQLite

  4. jQuery Mysql PHP automatisch aanvullen