zoukankan      html  css  js  c++  java
  • MySQL实现类似Oracle中的nextval和currval

    CREATE TABLE `sequence` (
      `seq_name` varchar(50) NOT NULL,
      `current_val` int(11) NOT NULL,
      `increment_val` int(11) NOT NULL DEFAULT '1',
      PRIMARY KEY (`seq_name`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    --------------------------------------------------------------------------------------------------------------------------------------------------
    CREATE DEFINER=`root`@`localhost` FUNCTION `currval`(v_seq_name VARCHAR(50)) RETURNS int(11)
    begin 
        declare value integer; 
        set value = 0; 
        select current_val into value 
        from sequence 
        where seq_name = v_seq_name; 
        return value; 
    end
    ------------------------------------------------------------------------------------------------------------------------------------------------
    CREATE DEFINER=`root`@`localhost` FUNCTION `nextval`(v_seq_name VARCHAR(50)) RETURNS int(11)
    begin 
      update sequence 
      set current_val = current_val + increment_val 
      where seq_name = v_seq_name;
      return currval(v_seq_name); 
    end
    
  • 相关阅读:
    其它运算符
    位运算符
    赋值运算符
    逻辑运算符
    关系运算符
    理解twisted中的reactor和deferred(一)
    修改 Django Administration
    celery 调用scrapy
    flower 时区设置
    Python 过滤HTML实体符号简易方法
  • 原文地址:https://www.cnblogs.com/jpfss/p/9755041.html
Copyright © 2011-2022 走看看