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

एक गणना कॉलम को एक तर्क के साथ बदलें जो INSERT के साथ काम करता है

मैंने PackID . उत्पन्न करने के लिए तर्क को थोड़ा सरल किया है

एक नया कॉलम जोड़ें(identifier ) कोड की पहचान करने और PackID . के लिए इसका उपयोग करने के लिए पीढ़ी और अनुक्रम उपयोग के लिए Identity कॉलम

CREATE TABLE [dbo].[tblPacks]
  (
     Iden_ID       INT IDENTITY(1, 1),
     [ID]          [INT] NOT NULL,
     [BatchNumber] [VARCHAR](30) NULL,
     [Identifier]  [VARCHAR](50),
     [PackID] AS [Identifier]
        + CASE
            WHEN Iden_ID <= 999 THEN RIGHT('00' + CONVERT(VARCHAR(3), ID), 3)
            ELSE CONVERT([VARCHAR](20), ID, 0)
          END,
     [Status]      [INT] NULL
  ) 

कामकाज की जांच करने के लिए

INSERT INTO [dbo].[tblPacks]
            ([ID],identifier,[BatchNumber],[Status])
VALUES      (1,'pk','bat',1)

SELECT *
FROM   [tblPacks] 



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक तालिका में सभी स्तंभों पर गतिशील SQL w/लूप

  2. SQL सर्वर संग्रहीत कार्यविधि में नाम के बजाय अनुक्रमणिका द्वारा तालिका के स्तंभों तक पहुँचें

  3. डेटाबेस के प्रदर्शन को कैसे बढ़ाया जाए?

  4. अद्यतन आदेश पर SQL सर्वर त्रुटि - वर्तमान आदेश पर एक गंभीर त्रुटि उत्पन्न हुई

  5. दोहराए गए सबस्ट्रिंग ढूंढें और निकालें