eine Tabelle erstellt:Berechnete Spalten in INSERT-Anweisung
CREATE TABLE [dbo].[tblPacks]
(
[ID] [int] NOT NULL,
[BatchNumber] [varchar](30) NULL,
[PackID] AS (CONVERT([varchar](50), 'PK' + case when len([ID]) <= (3) then CONVERT([varchar](20), right((0.001) * [ID], (3)), 0) else CONVERT([varchar](20), [ID], 0) end, 0)) PERSISTED,
[Status] [int] NULL
)
jetzt hatte ich eine neue Anforderung, die andere als diese Sequenz kann auch in dieser Tabelle hinzugefügt werden, so dass ich Computed Logic entfernen Zum Entfernen und Create Table As:
CREATE TABLE [dbo].[tblPacks]
(
[ID] [int] NOT NULL,
[BatchNumber] [varchar](30) NULL,
[PackID] VARCHAR(50),
[Status] [int] NULL
)
Jetzt möchte ich zwei Insert-Anweisungen, welche 'PackID'
Logik, die einander ähnlich sein sollen dazu ist:
AS (CONVERT([varchar](50),'PK'+case when len([ID])<=(3) then
CONVERT([varchar](20),right((0.001)*[ID],(3)),0) else
CONVERT([varchar](20),[ID],0) end,0))
Und eine normale Insert-Anweisung, die keine Logik hat Wie kann ich das tun?
können Sie Beispieldaten für PackID hinzufügen? ICH WÜRDE ? –
Bearbeitet bitte Check @ Mr.Bhosale –
können Sie Beispiel für Ihren Fall hinzufügen len ([ID])> 3. und auf welcher Grundlage entscheiden wir uns, PackId initial 'pk' oder 'ab' oder beliebig zu verwenden? –