利用SQL语句自动生成序列号:SELECT (@i :=@i + 1)

利用SQL语句自动生成序列号:SELECT (@i :=@i + 1),第1张

@i:=@i+1表示序号依次加1

后面的查询SELECT @i := 0是为了将i进行初始化每次查询的序列号都会从1开始进行排序生成序列号

用SQL语句可以这样写就能生成序列号: select(@i:=@i+1)as 序号 from (select @i:=0) as i

SELECT (@i:=@i+1) 序号 , name as 所属组织,resource as 单位 FROM cx_external_resources , (SELECT @i:=0) as i 

1、首先建一张测试表coal_blead,里面有多个字段

2、输入“select * from coal_blead order by qnet,price”语句,按qnet,price字段进行升序排序。

3、输入“select * from coal_blead order by qnet desc,price desc”语句,先按qnet字段进行降序,再按price字段进行降序。

4、输入“select * from coal_blead order by qnet desc,price asc”语句,先按qnet字段降序,再按price字段进行升序。

5、如果想对更多的字段进行排序,可以进行添加。

INSERT时如果要用到从1开始自动增长的数字做唯一关键字,

应该先建立一个序列号.CREATE

SEQUENCE

序列号的名称

(最好是表名+序列号标记)

INCREMENT

BY

1

START

WITH

1

MAXVALUE

99999

NOCYCLE

NOCACHE其中最大的值按字段的长度来定,比如定义的自动增长的序列NUMBER(6)

,

最大值为999999INSERT

语句插入这个字段值为:

序列号的名称.NEXTVAL例子:

SQL>

insert

into

s_dept(id,

name,

region_id)

values

(s_dept_id.nextval,

‘finance’,

2)1

row

created.只有运行了序列号的名称.

nextval后序列号的名称.

currval

才有效才有值.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11849757.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存