欢迎投稿

今日深度:

创建序列以及对应的视图,创建序列对应视图

创建序列以及对应的视图,创建序列对应视图



项目需要保证订单号的唯一


在使用时间生成时发现在业务量比较大的情况下,还是会出现重复情况


解决方案:创建一个序列表和视图 从视图中取


CREATE SEQUENCE general_order_no_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 1
  CACHE 1;


CREATE OR REPLACE VIEW get_next_seq_view AS
 SELECT nextval('general_order_no_seq'::regclass) AS nextval;


获取:

ActiveRecord::Base.connection.execute('select * from get_next_seq_view;').first["nextval"].to_i




创建视图的SQL代码


创建视图
CREATE VIEW VTest_A
AS
SELECT 'Hello-World' AS A

查询视图
SELECT * FROM VTest_A
 

创建视图时可以给视图加一个自增的列

Oracle 使用 Rownum

SQL Server 使用 ROW_NUMBER() OVER ( ORDER BY (SELECT 0) )

也就是
CREATE VIEW v_视图名字 AS
SELECT
rownum AS 自增序列,
其他列
FROM

WHERE
条件

这种情况下, SELECT * FROM 视图的时候, 有一个列,是按顺序自增的。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2477.html NewsArticle 创建序列以及对应的视图,创建序列对应视图 项目需要保证订单号的唯一 在使用时间生成时发现在业务量比较大的情况下,还是会出现重复情况 解决方案:创建一个序列表和视图 从视...
评论暂时关闭