zoukankan      html  css  js  c++  java
  • MySQL实现类似Oracle序列的函数

    drop table if exists sequence;
    create table sequence (
    seq_name VARCHAR(50) NOT NULL,
    current_val INT NOT NULL,
    increment_val INT NOT NULL DEFAULT 1,
    PRIMARY KEY (seq_name)
    );


    drop function if exists currval;
    create function currval(v_seq_name VARCHAR(50))
    returns integer
    begin
    declare value integer;
    set value = 0;
    select current_val into value
    from sequence
    where seq_name = v_seq_name;
    return value;
    end;


    create function nextval(v_seq_name VARCHAR(50))
    returns integer
    begin
    declare rowcount integer;

    select count(1) into rowcount
    from sequence
    where seq_name = v_seq_name;

    IF rowcount = 0 THEN
    INSERT INTO sequence(seq_name,current_val)
    VALUES(v_seq_name,0);
    end IF;

    update sequence
    set current_val = current_val + increment_val
    where seq_name = v_seq_name;
    return currval(v_seq_name);

    end;

  • 相关阅读:
    bys_tu_2016
    ciscn_2019_es_1
    jarvisoj_level5
    axb_2019_brop64
    [ZJCTF 2019]EasyHeap
    ciscn_2019_es_7
    Exp1 PC平台逆向破解 相关wp
    picoctf_2018_shellcode
    cmcc_simplerop
    axb_2019_fmt32
  • 原文地址:https://www.cnblogs.com/working/p/5566786.html
Copyright © 2011-2022 走看看