Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL संग्रहीत प्रक्रिया अशक्त लिखने से रोक रही है

मैं अभी भी आपके प्रश्न से थोड़ा भ्रमित हूं, लेकिन जैसा कि मैं समझता हूं, यह काम करना चाहिए। सभी IF . के बजाय बयान, एक CASE . में जाने पर विचार करें स्टेटमेंट, मान को 0 पर डिफॉल्ट करना। फिर कुछ करने के लिए मान 0 नहीं है, तो एक चेक जोड़ें।

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. SQL 'DDMMYY' को डेटाटाइम में बदलें

  2. SQL सर्वर पर FoxPro DBF फ़ाइल आयात करने का प्रयास कर रहा है

  3. SQL में तारीखों की तुलना करने वाली क्वेरी

  4. डिफ़ॉल्ट स्कीमा की त्रुटि का सामना करना मौजूद नहीं है। निष्पादन () का उपयोग करके एसपी के अंदर रनटाइम क्वेरी निष्पादित करते समय

  5. SQL सर्वर - एक संग्रहीत कार्यविधि में नेस्टेड लेनदेन