प्राथमिक कुंजी के रूप में GUID का उपयोग करते समय कोई SCOPE_IDENTITY () समतुल्य नहीं है, लेकिन आप समान परिणाम प्राप्त करने के लिए OUTPUT क्लॉज का उपयोग कर सकते हैं। आपको आउटपुट के लिए तालिका चर का उपयोग करने की आवश्यकता नहीं है।
CREATE TABLE dbo.GuidTest (
GuidColumn uniqueidentifier NOT NULL DEFAULT NewSequentialID(),
IntColumn int NOT NULL
)
GO
INSERT INTO GuidTest(IntColumn)
OUTPUT inserted.GuidColumn
VALUES(1)
यदि आप एक .Net क्लाइंट से मान पढ़ना चाहते हैं तो ऊपर दिया गया उदाहरण उपयोगी है। .Net से मान को पढ़ने के लिए आप बस ExecuteScalar विधि का उपयोग करेंगे।
...
string sql = "INSERT INTO GuidTest(IntColumn) OUTPUT inserted.GuidColumn VALUES(1)";
SqlCommand cmd = new SqlCommand(sql, conn);
Guid guid = (Guid)cmd.ExecuteScalar();
...