Header Ads Widget

SQL Server System Functions – @@IDENTITY, SCOPE_IDENTITY, IDENT_CURRENT (हिंदी में)

SQL Server System Functions – @@IDENTITY, SCOPE_IDENTITY, IDENT_CURRENT (हिंदी में)

🧰 SQL Server System Functions – @@IDENTITY, SCOPE_IDENTITY(), IDENT_CURRENT()

🔑 Memory में रखें (Definition)

SQL Server में कुछ System Functions होते हैं जो हमें last inserted identity value या अन्य system-level information देते हैं: @@IDENTITY, SCOPE_IDENTITY(), और IDENT_CURRENT() इनमें सबसे लोकप्रिय हैं।

📋 Demo Table

CREATE TABLE Students (
  StudentID INT IDENTITY(1,1),
  Name NVARCHAR(50)
);

INSERT INTO Students (Name) VALUES ('Amit');
SELECT * FROM Students;

🔹 @@IDENTITY

यह current session में last identity value return करता है, चाहे वह किसी भी scope से आया हो।

INSERT INTO Students (Name) VALUES ('Neha');
SELECT @@IDENTITY AS LastInsertedID;

⚠️ अगर trigger ने भी insert किया, तो उसका ID भी return हो सकता है।

🔹 SCOPE_IDENTITY()

यह उसी scope में last identity value return करता है, जहाँ insert हुआ था। यह सबसे safe method है।

INSERT INTO Students (Name) VALUES ('Raj');
SELECT SCOPE_IDENTITY() AS SafeInsertedID;

🔹 IDENT_CURRENT('TableName')

यह किसी specific table का current identity value return करता है, चाहे session या scope कुछ भी हो।

SELECT IDENT_CURRENT('Students') AS TableCurrentID;

📊 Comparison Table

FunctionScopeSessionUse
@@IDENTITYAnyCurrentMay return value from trigger
SCOPE_IDENTITY()SameCurrentSafe after insert
IDENT_CURRENT()AnyAnyTable-specific

🧠 INTERVIEW QUESTIONS (with Answers)

  1. Q: @@IDENTITY क्या करता है?
    Ans: Last identity value देता है किसी भी scope से (trigger सहित)।
  2. Q: SCOPE_IDENTITY() को क्यों ज्यादा secure माना जाता है?
    Ans: यह केवल उसी scope का identity देता है जहाँ से insert हुआ।
  3. Q: IDENT_CURRENT() और @@IDENTITY में अंतर?
    Ans: IDENT_CURRENT किसी भी session का हो सकता है, @@IDENTITY current session का होता है।
  4. Q: INSERT के बाद identity कैसे पता करें?
    Ans: सबसे अच्छा तरीका है – SCOPE_IDENTITY()
  5. Q: क्या trigger से generated identity भी @@IDENTITY में आता है?
    Ans: हाँ।

📘 यह पोस्ट Job Oriented Academy द्वारा system-level SQL concepts को simplify करने के लिए बनाई गई है।

Post a Comment

0 Comments