मेरी राय में एकमात्र व्यवहार्य समाधान
. का उपयोग करना है- एक
ID INT IDENTITY(1,1)
अपने संख्यात्मक मान की स्वचालित वृद्धि को संभालने के लिए SQL सर्वर प्राप्त करने के लिए कॉलम - एक गणना की गई, जारी रखी गई कॉलम उस संख्यात्मक मान को उस मान में बदलने के लिए जिसकी आपको आवश्यकता है
तो इसे आजमाएं:
CREATE TABLE dbo.tblUsers
(ID INT IDENTITY(1,1) NOT NULL PRIMARY KEY CLUSTERED,
UserID AS 'UID' + RIGHT('00000000' + CAST(ID AS VARCHAR(8)), 8) PERSISTED,
.... your other columns here....
)
अब, हर बार जब आप tblUsers
. में एक पंक्ति डालते हैं ID
. के लिए मान निर्दिष्ट किए बिना या UserID
:
INSERT INTO dbo.tblUsersCol1, Col2, ..., ColN)
VALUES (Val1, Val2, ....., ValN)
तब SQL सर्वर स्वचालित रूप से और सुरक्षित रूप से will अपना ID
बढ़ाएँ मान, और UserID
इसमें UID00000001
जैसे मान होंगे , UID00000002
,...... और इसी तरह - स्वचालित रूप से, सुरक्षित रूप से, मज़बूती से, कोई डुप्लीकेट नहीं।
अपडेट करें: कॉलम UserID
गणना है - लेकिन यह अभी भी पाठ्यक्रम का . है एक डेटा प्रकार . है , जैसा कि ऑब्जेक्ट एक्सप्लोरर में एक त्वरित झलक से पता चलता है: