创建序列以及对应的视图,创建序列对应视图
项目需要保证订单号的唯一
在使用时间生成时发现在业务量比较大的情况下,还是会出现重复情况
解决方案:创建一个序列表和视图 从视图中取
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
额
创建视图
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 视图的时候, 有一个列,是按顺序自增的。
本站文章为和通数据库网友分享或者投稿,欢迎任何形式的转载,但请务必注明出处.
同时文章内容如有侵犯了您的权益,请联系QQ:970679559,我们会在尽快处理。