Replace A Computed Column With A Logic That Works With INSERT
I have a table called tblPacks. CREATE TABLE [dbo].[tblPacks] ( [ID] [int] NOT NULL, [BatchNumber] [varchar](30) NULL, [PackID] VARCHAR(50), [St
Solution 1:
I have simplified the logic a bit for generating PackID
Add a new column(identifier
) for identifying the code and use it for PackID
generation and for sequence use Identity
column
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
)
To check the working
INSERT INTO [dbo].[tblPacks]
([ID],identifier,[BatchNumber],[Status])
VALUES (1,'pk','bat',1)
SELECT *
FROM [tblPacks]
Post a Comment for "Replace A Computed Column With A Logic That Works With INSERT"