Tsql 顺序参考号
我有一个表,目前只有两列,因为我正在学习,第一列是Book_skey,这是系统使用IDENTITY函数自动生成的,但是,我想在第二列中创建一个名为BookRef的自动字段,其中第一行是b0000001,下一行是b0000002,以此类推Tsql 顺序参考号,tsql,sequential,Tsql,Sequential,我有一个表,目前只有两列,因为我正在学习,第一列是Book_skey,这是系统使用IDENTITY函数自动生成的,但是,我想在第二列中创建一个名为BookRef的自动字段,其中第一行是b0000001,下一行是b0000002,以此类推 USE Occupancy DECLARE @BookNumber INT SET @BookNumber = 1 WHILE @BookNumber <= 5000 BEGIN INSERT INTO Book(BookNumber) SELECT
USE Occupancy
DECLARE @BookNumber INT
SET @BookNumber = 1
WHILE @BookNumber <= 5000
BEGIN
INSERT INTO Book(BookNumber)
SELECT @BookNumber
SET @BookNumber = @BookNumber + 1
END
使用占用率
声明@BookNumber INT
设置@BookNumber=1
而@BookNumber只需使用计算列即可
CREATE TABLE Book (
Book_skey int IDENTITY(1,1)
,BookRef as ('B' + RIGHT(CONVERT(CHAR(9), (100000000 + BookNumber)),8))
,BookNumber int
)
SET NOCOUNT ON
DECLARE @BookNumber INT
SET @BookNumber = 1
WHILE @BookNumber <= 5000
BEGIN
INSERT INTO Book(BookNumber)
SELECT @BookNumber
SET @BookNumber = @BookNumber + 1
END
SELECT * FROM Book
CREATE TABLE Book(
Book_skey内部标识(1,1)
,BookRef as('B'+右(转换(字符(9),(100000000+书号)),8))
,书号int
)
不计较
声明@BookNumber INT
设置@BookNumber=1
而@BookNumber与Book_skey
和BookRef
之间有什么区别?为什么需要两个标识符?BookRef
本质上就是B
+Book_______________________________________________?难道你不能直接从Book\u skey
中计算出来吗<代码>选择“B”+右('0000000'+CAST(Book_skey AS VARCHAR(8)),8)
老实说,我不知道,Martin,我是SQL新手,我被要求填充一个表,这就是我得到的。身份
不保证是连续的。如果可能,出于并发性的原因,应该避免该要求。