यह अजीब लग सकता है, लेकिन T-SQL में एक IDENTITY()
है संपत्ति और एक IDENTITY()
समारोह, जिनमें से प्रत्येक एक (समान, लेकिन) अलग उद्देश्य की पूर्ति करता है।
IDENTITY()
संपत्ति तालिका में एक पहचान कॉलम बनाती है। एक पहचान कॉलम में स्वचालित रूप से बढ़ती पहचान संख्या होती है। इस संपत्ति का उपयोगCREATE TABLE
. के साथ किया जाता है औरALTER TABLE
बयान।IDENTITY()
हालांकि, फ़ंक्शन का उपयोग केवलSELECT
. में किया जाता हैINTO
. के साथ स्टेटमेंट एक नई तालिका में एक पहचान स्तंभ सम्मिलित करने के लिए तालिका खंड।
SQL-DMO भी है Identity
संपत्ति जो एक कॉलम की पंक्ति पहचान संपत्ति को उजागर करती है, लेकिन मैं इसे यहां कवर नहीं करूंगा। Microsoft सलाह देता है कि इस गुण को SQL सर्वर के भविष्य के संस्करण में हटा दिया जाएगा, और आपको इसे नए विकास कार्य में उपयोग करने से बचना चाहिए।
पहचान () संपत्ति
यहां IDENTITY()
का उपयोग करने का एक उदाहरण दिया गया है संपत्ति।
CREATE TABLE Pets ( PetId int IDENTITY(1,1) PRIMARY KEY, PetName varchar(255) );
यह कोड दो कॉलम वाली एक टेबल बनाता है। पहला कॉलम (PetId
) एक पहचान कॉलम है (क्योंकि मैं IDENTITY()
. का उपयोग करता हूं इसकी परिभाषा में संपत्ति)।
अब जब मैंने एक पहचान कॉलम बना लिया है, तो मैं PetName
. में पालतू जानवरों के नाम डाल सकता हूं कॉलम में प्रत्येक पंक्ति के लिए एक आईडी शामिल करने की आवश्यकता नहीं है।
INSERT INTO Pets (PetName) VALUES ('Homer'), ('Felix'), ('Ruff'); SELECT * FROM Pet;
परिणाम:
+---------+-----------+ | PetId | PetName | |---------+-----------| | 1 | Homer | | 2 | Felix | | 3 | Ruff | +---------+-----------+
इस मामले में, नंबरिंग 1 से शुरू होती है और प्रत्येक पंक्ति 1 से बढ़ती है। ऐसा इसलिए है क्योंकि मैंने IDENTITY(1,1)
का उपयोग किया है यह निर्दिष्ट करने के लिए कि बीज का मान 1 है और यह प्रत्येक नई पंक्ति पर 1 से बढ़ा है।
पहचान() फ़ंक्शन
जैसा कि बताया गया है, IDENTITY()
फ़ंक्शन का उपयोग SELECT INTO
. में किया जाता है बयान। यहां IDENTITY()
का उपयोग करने का एक उदाहरण दिया गया है समारोह।
SELECT IDENTITY(int, 101, 10) AS pet_id, PetName AS pet_name INTO BestFriends FROM Pets; SELECT * FROM BestFriends;
परिणाम:
+----------+------------+ | pet_id | pet_name | |----------+------------| | 101 | Homer | | 111 | Felix | | 121 | Ruff | +----------+------------+
यहाँ, मैंने BestFriends
. नामक एक तालिका बनाई है और इसे Pets
. से पॉप्युलेट किया टेबल।
इस मामले में मैंने 101 पर गिनती शुरू की और इसे 10 से बढ़ा दिया। यह भी ध्यान दें कि फ़ंक्शन को कॉलम के डेटा प्रकार को निर्दिष्ट करने के लिए पहले तर्क की आवश्यकता होती है।