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

SQL सर्वर 2005 में, यह सुनिश्चित करने के लिए कि मान 0 से अधिक हैं, मैं पूर्णांकों का एक कॉलम कैसे सेट करूं?

आप कॉलम पर चेक बाधा का उपयोग कर सकते हैं। इसके लिए आईआईआरसी सिंटैक्स इस तरह दिखता है:

create table foo (
    [...]
   ,Foobar int not null check (Foobar > 0)
    [...]
)

जैसा कि नीचे दिया गया पोस्टर कहता है (धन्यवाद कॉन्स्टेंटिन), आपको तालिका परिभाषा के बाहर चेक बाधा बनानी चाहिए और इसे एक सार्थक नाम देना चाहिए ताकि यह स्पष्ट हो कि यह किस कॉलम पर लागू होता है।

alter table foo
  add constraint Foobar_NonNegative
      check (Foobar > 0)

आप sys.check_constraints में सिस्टम डेटा डिक्शनरी से चेक बाधाओं का टेक्स्ट निकाल सकते हैं :

select name
      ,description
  from sys.check_constraints
 where name = 'Foobar_NonNegative'


  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 सर्वर में संग्रहीत कार्यविधि में पैरामीटर जोड़ने के बीच अंतर?

  2. मैं SQL एजेंट कार्य में संग्रहीत कार्यविधि को कैसे निष्पादित करूं?

  3. SQL 2005 में उपयोग के लिए मैं SQL 2008 MDF फ़ाइल को डाउनग्रेड कैसे करूँ?

  4. महीने/वर्ष तालिका बनाने का बेहतर तरीका

  5. 8053 बाइट्स से ऊपर की पंक्ति डालने से त्रुटि क्यों नहीं हो रही है, क्योंकि अधिकतम अनुमत पंक्ति सीमा 8060 है