w=10=sh w=11=sh Date Union Id String + Integer +1

Asp Sql Data Uniq Id String + Integer +1

我想在我的sqltable中自动增加一个值,但我希望它每次都读取以前的数据和str + int。 例如 ; ABC0001 ABC0002 ABC0003 . . . 未完待续。

你能帮忙吗

检查Sequence是否可以使用 (根据您有限的数据,我假设您有 SQL 服务器作为您的 DBMS)

Create Table T (ColABCIncremtnt varchar(20), Col2 int, Col3 datetime)

CREATE SEQUENCE dbo.Id AS INT 
    START WITH 1 INCREMENT BY 1 MINVALUE 0 NO MAXVALUE

Insert Into T (ColABCIncremtnt,Col2,Col3)
Select 'ABC000' + Convert(varchar(10), next value for dbo.Id), 43,getdate()  

Insert Into T (ColABCIncremtnt,Col2,Col3)
Select 'ABC000' + Convert(varchar(10), next value for dbo.Id), 72,getdate()  

Insert Into T (ColABCIncremtnt,Col2,Col3)
Select 'ABC000' + Convert(varchar(10), next value for dbo.Id), 36,getdate()  

Select * from T

如果您想将序列嵌入到 table

ALTER TABLE dbo.T
ADD CONSTRAINT Cnstrnt_Seq
DEFAULT FORMAT((NEXT VALUE FOR dbo.ID),'ABC000#') FOR ColABCIncremtnt;

Insert Into T (Col2,Col3) values
(1,getdate()),  
(2,getdate()),
(3,getdate())

Select * from T

您可以通过多种方式做到这一点。第一种方式是使用计算列规范的自动化方式。您可以添加一个自增列,还可以创建另一个将基于自增列进行计算的列。例如,您可以创建用户 table:

CREATE TABLE [dbo].[UserTable](
  [ID] [int] IDENTITY(1,1) NOT NULL,
  [UserNo]  AS ('ABC'+ RIGHT('0000' + CAST(Id AS VARCHAR(4)), 4)) PERSISTED,
  [FirstName] VARCHAR(50),
  [LastName] VARCHAR(50),
  CONSTRAINT [PK_UserTable] PRIMARY KEY ([ID] ASC)
)

现在您可以将数据添加到您的 table:

INSERT INTO [dbo].[UserTable] ([FirstName],[LastName])
     VALUES ('sample name','sample family name')