MySql序列實現
小結一下:mysql 實現 oracle中序列的功能
建立一張用於記錄序列值的表:
drop table if exists dpf_risk.seq_record;
create table dpf_risk.seq_record
(
seq_name varchar(100) comment '序列名'
,val int(11) not null default 0 comment '序列值'
,primary key (seq_name)
) comment '此表用於記錄序列的值'
;
/*初始化序列的其實值:insert into dpf_risk.seq_record(seq_name,val) values('rdm_lkp_uid_rid_mobile_emal_uid',989719);
update dpf_risk.seq_record
set val = 989719
*/
建立取序列值的函式 (此為 next_val()的實現,current_val()同理,步長可以自己定義,很方便)
drop function if exists dpf_risk.seq;
DELIMITER $$
create function dpf_risk.seq(seq_name varchar(100)) returns int(11)
not DETERMINISTIC
begin
declare res int default 0;
update dpf_risk.seq_record set val = last_insert_id(val+1) where seq_name = seq_name ;
select last_insert_id(val) into res from dpf_risk.seq_record where seq_name = seq_name ;
return res;
end$$
DELIMITER ;
測試一下:
mysql> select dpf_risk.seq('rdm_lkp_uid_rid_mobile_emal_uid');
+-------------------------------------------------+
| dpf_risk.seq('rdm_lkp_uid_rid_mobile_emal_uid') |
+-------------------------------------------------+
| 989721 |
+-------------------------------------------------+
1 row in set (0.00 sec)
mysql> select dpf_risk.seq('rdm_lkp_uid_rid_mobile_emal_uid');
+-------------------------------------------------+
| dpf_risk.seq('rdm_lkp_uid_rid_mobile_emal_uid') |
+-------------------------------------------------+
| 989722 |
+-------------------------------------------------+
1 row in set (0.00 sec)
功能實現!
建立一張用於記錄序列值的表:
drop table if exists dpf_risk.seq_record;
create table dpf_risk.seq_record
(
seq_name varchar(100) comment '序列名'
,val int(11) not null default 0 comment '序列值'
,primary key (seq_name)
) comment '此表用於記錄序列的值'
;
/*初始化序列的其實值:insert into dpf_risk.seq_record(seq_name,val) values('rdm_lkp_uid_rid_mobile_emal_uid',989719);
update dpf_risk.seq_record
set val = 989719
*/
建立取序列值的函式 (此為 next_val()的實現,current_val()同理,步長可以自己定義,很方便)
drop function if exists dpf_risk.seq;
DELIMITER $$
create function dpf_risk.seq(seq_name varchar(100)) returns int(11)
not DETERMINISTIC
begin
declare res int default 0;
update dpf_risk.seq_record set val = last_insert_id(val+1) where seq_name = seq_name ;
select last_insert_id(val) into res from dpf_risk.seq_record where seq_name = seq_name ;
return res;
end$$
DELIMITER ;
測試一下:
mysql> select dpf_risk.seq('rdm_lkp_uid_rid_mobile_emal_uid');
+-------------------------------------------------+
| dpf_risk.seq('rdm_lkp_uid_rid_mobile_emal_uid') |
+-------------------------------------------------+
| 989721 |
+-------------------------------------------------+
1 row in set (0.00 sec)
mysql> select dpf_risk.seq('rdm_lkp_uid_rid_mobile_emal_uid');
+-------------------------------------------------+
| dpf_risk.seq('rdm_lkp_uid_rid_mobile_emal_uid') |
+-------------------------------------------------+
| 989722 |
+-------------------------------------------------+
1 row in set (0.00 sec)
功能實現!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28929558/viewspace-1320370/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql使用自定義序列實現row_number功能MySql
- 在MySQL中建立實現自增的序列(Sequence)MySql
- JS實現序列請求JS
- IDEA實現序列號介面Idea
- 什麼是Java序列化?如何實現序列化?Java
- java 實現 最長公共子序列Java
- 最長遞增子序列-Java 實現Java
- 用.NET框架實現序列化框架
- 一句話實現MySQL庫中的有序列舉條件分組MySql
- golang實現php裡的serialize()和unserialize()序列和反序列方法GolangPHP
- 什麼是Java序列化,如何實現java序列化Java
- asp.net JavaScriptSerializer實現序列化和反序列化ASP.NETJavaScript
- Oracle實現自增列(序列+觸發器實現、Identity Columns新特性、序列作為預設值)Oracle觸發器IDE
- 基於 “typesys” 實現序列指令碼框架指令碼框架
- JS原生實現表單序列化JS
- Java中使用FlatBuffer實現序列化Java
- mysql實現sequenceMySql
- 十分鐘搞定Keras序列到序列學習(附程式碼實現)Keras
- C# 實現複雜物件的序列化與反序列化C#物件
- 原生JS實現表單序列化serialize()JS
- 精讀《用 Reduce 實現 Promise 序列執行》Promise
- 原生實現jquery param序列化引數jQuery
- 最長公共子序列的程式碼實現
- Word中輕鬆實現逆頁序列印
- 序列化和反序列化的底層實現原理是什麼?
- SimpleRpc-序列化與反序列化的設計與實現RPC
- 在C#中實現Json的序列化與反序列化C#JSON
- 一行程式碼實現iOS序列化與反序列化行程iOS
- MySQL實現Split用法MySql
- MySQL——索引實現原理MySql索引
- MySQL MVCC實現原理MySqlMVC
- 「crudapi」零程式碼實現訂單序列號SequenceAPI
- 用 65 行程式碼實現 JS 動畫序列播放行程JS動畫
- Java:對一個物件序列化和反序列化的簡單實現Java物件
- mysql實現遠端訪問,phpmyadmin實現遠端連線mysqlMySqlPHP
- Python實現JSON反序列化類物件PythonJSON物件
- C# XmlSerializer實現序列化淺析(轉載)C#XML
- MySQL排名函式實現MySql函式