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

SQL सर्वर में मैं एक ऑटो-इन्क्रीमेंट प्राथमिक कुंजी आईडी कैसे उत्पन्न करूं जिसमें वर्ष, एक विशेष चार और एक अनुक्रमिक श्रृंखला संख्या शामिल हो?

यहाँ एक पूर्ण समाधान है। कृपया ध्यान दें कि यह मेरे द्वारा चिह्नित किए गए डुप्लिकेट जैसा ही है - डेटाबेस स्कीम, ऑटोइनक्रिकमेंट - बस अलग विवरण।

CREATE TABLE [dbo].[STUDENT]
(
    [ID] int identity(1,1) PRIMARY KEY,
    [Stud_LName] [varchar](100) NOT NULL,
    [Stud_FName] [varchar](100) NOT NULL,
    [Stud_MName] [varchar](100) NOT NULL
)
GO

CREATE FUNCTION dbo.GetSudentId
(
    @id int
)
RETURNS varchar(10)
AS
BEGIN
    RETURN Concat(Year(Getdate()), '-', RIGHT(Concat('0000', (SELECT COUNT(*) FROM STUDENT WHERE id < @Id)), 6))
END
GO

ALTER TABLE [dbo].[STUDENT]
    ADD Stud_ID AS (dbo.GetSudentId(Id))
GO

कृपया ध्यान दें कि तालिका की प्राथमिक कुंजी अभी भी identity होनी चाहिए कॉलम (जैसा कि स्क्रिप्ट में दिखाया गया है) क्योंकि परिकलित कॉलम प्राथमिक कुंजी नहीं हो सकता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JSON ऑटो उदाहरणों के लिए SQL सर्वर (T-SQL)

  2. SQL सर्वर (T-SQL) में किसी उपयोगकर्ता के लिए डिफ़ॉल्ट डेटाबेस मेल प्रोफ़ाइल कैसे बदलें

  3. SQL सर्वर से बाइट [] में सी # में varbinary (MAX) पुनर्प्राप्त करें

  4. SQL सर्वर TempDB मॉनिटरिंग डायनेमिक मैनेजमेंट व्यू (DMV) का उपयोग करके

  5. दुनिया में सबसे लोकप्रिय डेटाबेस प्रबंधन प्रणाली