MSSQL妙用:自动生成序号(mssql生成xuhao)

MSSQL妙用:自动生成序号

在工作中,经常需要自动生成唯一序号,以及针对现有序号进行编排和变换,对此MS SQL有诸多便捷的办法。下面就用一个实例,来讲解MSSQL如何自动生成序号的妙用。

首先要创建数据库,并新建表格用于存放所需数据,建立完数据库后如下:

CREATE DATABASE Generate_Number;
GO

CREATE TABLE dbo.TestTable
(
IDTinyint Identity (1,1) Primary Key,
SequenceID varchar(10)
);
GO

接下来就可以再表格中插入数据,比如用于生成唯一编号或序号的 1,2,3,4 … 等。在编写插入语句时,在 DEFUALT 默认列中添加 WITH VALUES 参数以指定新插入值是自动生成而非手动输入:

INSERT INTO dbo.TestTable (SequenceID)
VALUES('ABC'), ('DEF'), ('GHI'), ('JKL')
WITH VALUES;
GO

最后,MS SQL自动生成表格中的唯一序号,并自动插入表格。如下所示:

| IDTinyint | SequenceID |

|—————–|————|

| 1 | ABC |

| 2 | DEF |

| 3 | GHI |

| 4 | JKL |

既然MSSQL可以自动生成序号,那么就可以更高效的完成相关序号的编排、变换操作。比如:

SET NOCOUNT ON;
GO

DECLARE @x int=1; --给出起始值
DECLARE @upper int=4; --给出终止值
DECLARE @rowcount int=0;

WHILE @x
BEGIN
UPDATE dbo.TestTable
SET SequenceID = ''+@x --可以添加自定义变换格式
WHERE IDTinyint=@x;
SET @rowcount=@rowcount+ @@ROWCOUNT;
SET @x=@x+1;
END;
SELECT CAST(@rowcount AS VARCHAR(20)) + ' row(s) updated';
GO

以上例子是变换表格中每一行原有SequenceID值,变换成1,2…格式,这样可以高效地完成序号编排或变换,极大地提高了工作效率。

通过以上的实例,不难看出MS SQL在自动生成序号上的妙用,其中的自动插入和定制变换都是非常有用的功能,使得工作更加便捷高效。


数据运维技术 » MSSQL妙用:自动生成序号(mssql生成xuhao)