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

SQL सर्वर में कोई ऑब्जेक्ट एक दृश्य है या नहीं यह निर्धारित करने के लिए OBJECTPROPERTY() का उपयोग करें

आप OBJECTPROPERTY() . का उपयोग कर सकते हैं ऑब्जेक्ट एक दृश्य है या नहीं, यह पता लगाने के लिए SQL सर्वर में कार्य करता है।

यह फ़ंक्शन दो पैरामीटर स्वीकार करता है:ऑब्जेक्ट आईडी, और वह प्रॉपर्टी जिसके लिए आप इसकी जांच कर रहे हैं।

इसलिए, आप ऑब्जेक्ट आईडी को पहले तर्क के रूप में पास कर सकते हैं, और IsView दूसरे के रूप में, और फ़ंक्शन या तो 1 . लौटाएगा या एक 0 इस पर निर्भर करता है कि यह एक दृश्य है या नहीं।

1 . का वापसी मान इसका मतलब है कि यह है एक दृश्य, और 0 . का मान इसका मतलब है कि ऐसा नहीं है।

उदाहरण 1 - मूल उपयोग

प्रदर्शित करने के लिए यहां एक त्वरित उदाहरण दिया गया है।

USE Music;
SELECT OBJECTPROPERTY(1525580473, 'IsView') AS [IsView];

परिणाम:

+----------+
| IsView   |
|----------|
| 1        |
+----------+

इस मामले में, संगीत डेटाबेस में प्रदान की गई आईडी के साथ एक ऑब्जेक्ट है, और यह एक दृश्य है।

उदाहरण 2 - ऑब्जेक्ट आईडी प्राप्त करना

यदि आप वस्तु का नाम जानते हैं, लेकिन उसकी आईडी नहीं, तो आप OBJECT_ID() का उपयोग कर सकते हैं आईडी को उसके नाम के आधार पर पुनः प्राप्त करने के लिए कार्य करता है।

उदाहरण:

SELECT OBJECTPROPERTY(OBJECT_ID('RockAlbums'), 'IsView') AS [IsView];

परिणाम:

+----------+
| IsView   |
|----------|
| 1        |
+----------+

इस मामले में मैंने पिछले उदाहरण से उसी वस्तु की जाँच की।

यहां यह फिर से अलग से आईडी आउटपुट के साथ है।

SELECT 
  OBJECT_ID('RockAlbums') AS [Object ID],
  OBJECTPROPERTY(OBJECT_ID('RockAlbums'), 'IsView') AS [IsView];

परिणाम:

+-------------+----------+
| Object ID   | IsView   |
|-------------+----------|
| 1525580473  | 1        |
+-------------+----------+

उदाहरण 3 - जब वस्तु एक दृश्य नहीं है

यहां बताया गया है कि जब वस्तु दृश्य नहीं होती है तो क्या होता है।

SELECT OBJECTPROPERTY(885578193, 'IsView') AS [IsView];

परिणाम:

+----------+
| IsView   |
|----------|
| 0        |
+----------+

इस मामले में, डेटाबेस करता है वास्तव में उस आईडी के साथ एक वस्तु है, लेकिन वस्तु वास्तव में एक तालिका है, इसलिए मुझे एक नकारात्मक परिणाम मिलता है।

यहां यह फिर से OBJECT_ID() का उपयोग कर रहा है ।

SELECT 
  OBJECT_ID('Artists') AS [Object ID],
  OBJECTPROPERTY(OBJECT_ID('Artists'), 'IsView') AS [IsView];

परिणाम:

+-------------+----------+
| Object ID   | IsView   |
|-------------+----------|
| 885578193   | 0        |
+-------------+----------+

उदाहरण 4 - वस्तु मौजूद नहीं है

SQL सर्वर मानता है कि ऑब्जेक्ट आईडी वर्तमान डेटाबेस संदर्भ में है। यदि आप किसी भिन्न डेटाबेस से ऑब्जेक्ट आईडी पास करते हैं, तो आपको या तो एक पूर्ण परिणाम मिलेगा या आपको गलत परिणाम मिलेंगे।

SELECT 
  OBJECTPROPERTY(OBJECT_ID('NonExistentObject'), 'IsView') AS [NonExistentObject],
  OBJECTPROPERTY(11111111, 'IsView') AS [11111111];

परिणाम:

+---------------------+------------+
| NonExistentObject   | 11111111   |
|---------------------+------------|
| NULL                | NULL       |
+---------------------+------------+

इस मामले में डेटाबेस में उस नाम या आईडी की कोई वस्तु नहीं है, और इसलिए मुझे एक पूर्ण परिणाम मिलता है।

त्रुटि होने पर या यदि आपके पास ऑब्जेक्ट देखने की अनुमति नहीं है, तो आपको NULL भी मिलेगा।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एसक्यूएल आउटपुट क्लॉज के लिए कॉलम को सम्मिलित नहीं करने के लिए यह संभव है?

  2. क्षतिग्रस्त एसक्यूएल बैकअप की मरम्मत के लिए एसक्यूएल बैकअप रिकवरी टूल - उत्पाद समीक्षा - डैनियल जोन्स द्वारा एक अतिथि पोस्ट

  3. टीएसक्यूएल ईमेल सत्यापन (रेगेक्स के बिना)

  4. SQL सर्वर 2019 में स्केलर UDF इनलाइनिंग

  5. टी-एसक्यूएल का उपयोग करके उप-स्ट्रिंग की अंतिम घटना की अनुक्रमणिका पाएं