序列生成器作为 SQL 中 select 语句中的列

Sequence generator as column in a select statement in SQL

我正在尝试执行 select 语句或将语句插入到另一个 table 中,我在第一列中添加了一个序列。

请看下面:

create table test (
nm      varchar(20),
age         decimal(38,12));

insert into test values ('Albert',20),('Ben',10),('Charles',30)

我正在尝试 运行 一个查询,我在什么时候做:

select 
##some kind of sequence function## as seq,
nm,
age
from test

我回来了:

seq nm age
1 Albert 20
2 Ben 10
3 Charles 30

另外,我希望能够设置序列的起始编号,所以我可以设置为50,序列将显示51,52,53等

谢谢

    select 50+row_number() over (order by nm) as rnum,
    nm,age from test

您可以使用 IDENTITY:

CREATE TABLE test
(
  id INT IDENTITY (50,1),
  nm VARCHAR(20) ,
  age DECIMAL(38, 12)
);

INSERT  INTO test
VALUES  ( 'Albert', 20 ),
        ( 'Ben', 10 ),
        ( 'Charles', 30 )

那会给你:

id   nm       age
---------------------------
50   Albert   20.000000000000
51   Ben      10.000000000000
52   Charles  30.000000000000