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

@@ पहचान, SCOPE_IDENTITY (), OUTPUT और अंतिम पहचान प्राप्त करने के अन्य तरीके

यह इस बात पर निर्भर करता है कि आप क्या करने की कोशिश कर रहे हैं...

@@ पहचान

किसी कनेक्शन पर उत्पादित अंतिम पहचान मान लौटाता है, चाहे वह तालिका कुछ भी हो, जिसने मूल्य का उत्पादन किया हो, और मूल्य उत्पन्न करने वाले कथन के दायरे की परवाह किए बिना। @@ पहचान आपके वर्तमान सत्र में तालिका में दर्ज किया गया अंतिम पहचान मान लौटाएगा। @@ पहचान वर्तमान सत्र तक सीमित है और वर्तमान दायरे तक सीमित नहीं है। उदाहरण के लिए, यदि आपके पास किसी तालिका पर एक ट्रिगर है जो किसी अन्य तालिका में एक पहचान बनाने का कारण बनता है, तो आपको वह पहचान मिल जाएगी जो पिछली बार बनाई गई थी, भले ही वह ट्रिगर था जिसने इसे बनाया था।

SCOPE_IDENTITY ()

किसी कनेक्शन पर और उसी दायरे में एक कथन द्वारा उत्पादित अंतिम पहचान मान लौटाता है, चाहे वह तालिका कुछ भी हो, जो मूल्य उत्पन्न करती है। SCOPE_IDENTITY () @@ पहचान के समान है, लेकिन यह मूल्य को आपके वर्तमान दायरे तक सीमित कर देगा। दूसरे शब्दों में, यह किसी ट्रिगर या उपयोगकर्ता परिभाषित फ़ंक्शन द्वारा बनाई गई किसी भी पहचान के बजाय, आपके द्वारा स्पष्ट रूप से बनाया गया अंतिम पहचान मान लौटाएगा।

IDENT_CURRENT()

किसी तालिका में उत्पादित अंतिम पहचान मान लौटाता है, भले ही वह मूल्य उत्पन्न करने वाले कथन का कनेक्शन और दायरा कुछ भी हो। IDENT_CURRENT एक निर्दिष्ट तालिका तक सीमित है, लेकिन कनेक्शन या दायरे से नहीं।



  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 सर्वर एक्सप्रेस (2012) और लोकलडीबी में कोई अंतर है?

  2. SQL सर्वर इंस्टेंस (T-SQL उदाहरण) में उपयोग की जा रही बहिष्कृत सुविधाओं को लॉग करने के लिए विस्तारित ईवेंट का उपयोग करना

  3. क्या एएनएसआई जॉइन बनाम गैर-एएनएसआई जॉइन क्वेरी अलग-अलग प्रदर्शन करेगी?

  4. एसक्यूएल सर्वर (टी-एसक्यूएल) में 'डेट' को 'स्मॉलडेटटाइम' में बदलने के उदाहरण

  5. किसी मौजूदा कॉलम के लिए डिफ़ॉल्ट मान कैसे सेट करें