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

INFORMATION_SCHEMA का उपयोग करके मैं डिफ़ॉल्ट बाधा कैसे ढूंढूं?

जैसा कि मैं इसे समझता हूं, डिफ़ॉल्ट मान बाधाएं आईएसओ मानक का हिस्सा नहीं हैं, इसलिए वे INFORMATION_SCHEMA में प्रकट नहीं होते हैं। INFORMATION_SCHEMA इस तरह के कार्य के लिए सबसे अच्छा विकल्प लगता है क्योंकि यह क्रॉस-प्लेटफ़ॉर्म है, लेकिन यदि जानकारी उपलब्ध नहीं है, तो सिस्टम तालिका दृश्यों के बजाय ऑब्जेक्ट कैटलॉग दृश्य (sys.*) का उपयोग करना चाहिए, जो SQL सर्वर में बहिष्कृत हैं 2005 और बाद में।

नीचे @ user186476 के उत्तर के समान ही है। यह किसी दिए गए कॉलम के लिए डिफ़ॉल्ट मान बाधा का नाम देता है। (गैर-एसक्यूएल सर्वर उपयोगकर्ताओं के लिए, आपको इसे छोड़ने के लिए डिफ़ॉल्ट के नाम की आवश्यकता है, और यदि आप स्वयं डिफ़ॉल्ट बाधा का नाम नहीं रखते हैं, तो SQL सर्वर "DF_TableN_Colum_95AFE4B5" जैसे कुछ पागल नाम बनाता है। इसे बदलना आसान बनाने के लिए भविष्य में आपकी स्कीमा, हमेशा अपनी बाधाओं को स्पष्ट रूप से नाम दें!)

-- returns name of a column's default value constraint 
SELECT
    default_constraints.name
FROM 
    sys.all_columns

        INNER JOIN
    sys.tables
        ON all_columns.object_id = tables.object_id

        INNER JOIN 
    sys.schemas
        ON tables.schema_id = schemas.schema_id

        INNER JOIN
    sys.default_constraints
        ON all_columns.default_object_id = default_constraints.object_id

WHERE 
        schemas.name = 'dbo'
    AND tables.name = 'tablename'
    AND all_columns.name = 'columnname'


  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. एसक्यूएल आगामी जन्मदिन का चयन करें

  3. काउंट (*) चुनें;

  4. टी-एसक्यूएल - एलियासिंग का उपयोग करके =बनाम के रूप में

  5. SQL सर्वर एजेंट नौकरी खाता समस्या