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

UID12345678 जैसे SQL में स्वचालित रूप से अद्वितीय आईडी कैसे उत्पन्न करें?

मेरी राय में एकमात्र व्यवहार्य समाधान

. का उपयोग करना है
  • एक 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 गणना है - लेकिन यह अभी भी पाठ्यक्रम का . है एक डेटा प्रकार . है , जैसा कि ऑब्जेक्ट एक्सप्लोरर में एक त्वरित झलक से पता चलता है:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं टीएसक्यूएल में प्रिंट बफर कैसे फ्लश करूं?

  2. SQL सर्वर सबक्वेरी ने 1 से अधिक मान लौटाए। इसकी अनुमति नहीं है जब सबक्वेरी इस प्रकार है =, !=, <, <=,>,>=

  3. मैं टीएसक्यूएल का उपयोग कर डेटाबेस में सभी तालिकाओं की सूची कैसे प्राप्त करूं?

  4. कैसे sp_describe_first_result_set SQL सर्वर में काम करता है

  5. कॉलम नाम उत्पन्न करने के लिए गतिशील एसक्यूएल?