Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Procedura składowana SQL uniemożliwiająca zapisanie wartości null

Nadal jestem trochę zdezorientowany twoim pytaniem, ale to powinno działać tak, jak rozumiem. Zamiast wszystkich IF instrukcji, rozważ przeniesienie do jednego CASE oświadczenie, ustawiając domyślną wartość na 0. Następnie dodaj sprawdzenie, czy wartość nie jest równa 0, aby coś zrobić.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konwertowanie pliku SQL2008 RDL na SQL2005

  2. Używanie INNER JOIN do łączenia tabel programu SQL Server i wyświetlania ich w formularzach sieci Web ASP.NET

  3. Wartości oddzielone przecinkami za pomocą zapytania SQL

  4. Różnica między błędami kompilacji a błędami czasu wykonywania w programie SQL Server?

  5. oblicz średnią ocenę w serwerze sql