Rumah pangkalan data tutorial mysql Oracle 生成序列号存储过程

Oracle 生成序列号存储过程

Jun 07, 2016 pm 05:07 PM
data

项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展 一、序列号存储表 -- Create tablecreate table SYS_

项目中经常要根据年月日规则生成序列号,简单写了个存储过程可根据需要扩展

一、序列号存储表

-- Create table
create table SYS_GENKEY
(
  DATESTR  VARCHAR2(50),
  MAXCOUNT NUMBER,
  TYPE     NUMBER
)
-- Add comments to the columns
comment on column SYS_GENKEY.DATESTR
  is ' 时间';
comment on column SYS_GENKEY.MAXCOUNT
  is '当天最大值';
comment on column SYS_GENKEY.TYPE
  is '类型';

 

二、功能实现存储过程

CREATE OR REPLACE PROCEDURE "P_GEN_KEY"
(
  retVal out varchar2,  --返回生成序号
  intype in varchar2,  --序号类型
  inCount in varchar2  --序列号补0位数
)
 as
  nowDateStr varchar2(50);--当前年月日
  nowmaxcount number(20); --当天最大序号
 IS_EXIST NUMBER;  --数据是否存在
 begin
      --取到当前年月日
      select to_char(sysdate,'yyyymmdd') into nowDateStr from dual;
      --取到当天最大key
      select max(t.maxcount) into nowmaxcount from sys_genkey t where t.datestr = nowDateStr and t.type = intype;
      --每天加1
      --为空则设置为0
      if nowmaxcount is null then
         nowmaxcount := 0;
      end if;
      nowmaxcount := nowmaxcount + 1;

      --更新临时表
      SELECT COUNT(1) INTO IS_EXIST FROM sys_genkey t where t.datestr = nowDateStr and t.type = intype;
      IF (IS_EXIST != 0) THEN
         update sys_genkey set MAXCOUNT = nowmaxcount where datestr = nowDateStr and type = intype;
      else
         insert into sys_genkey (DATESTR,MAXCOUNT,TYPE)values(nowDateStr,nowmaxcount,intype);
      end if;

      --补0
      select nowDateStr||LPAD (nowmaxcount , inCount , '0') key into retVal from dual;
 end;

linux

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Gunakan ddrescue untuk memulihkan data pada Linux Gunakan ddrescue untuk memulihkan data pada Linux Mar 20, 2024 pm 01:37 PM

Gunakan ddrescue untuk memulihkan data pada Linux

Sumber terbuka! Di luar ZoeDepth! DepthFM: Anggaran kedalaman monokular yang cepat dan tepat! Sumber terbuka! Di luar ZoeDepth! DepthFM: Anggaran kedalaman monokular yang cepat dan tepat! Apr 03, 2024 pm 12:04 PM

Sumber terbuka! Di luar ZoeDepth! DepthFM: Anggaran kedalaman monokular yang cepat dan tepat!

Cara menggunakan fungsi penapis Excel dengan berbilang syarat Cara menggunakan fungsi penapis Excel dengan berbilang syarat Feb 26, 2024 am 10:19 AM

Cara menggunakan fungsi penapis Excel dengan berbilang syarat

Daya hidup kecerdasan super membangkitkan! Tetapi dengan kedatangan AI yang mengemas kini sendiri, ibu tidak perlu lagi bimbang tentang kesesakan data Daya hidup kecerdasan super membangkitkan! Tetapi dengan kedatangan AI yang mengemas kini sendiri, ibu tidak perlu lagi bimbang tentang kesesakan data Apr 29, 2024 pm 06:55 PM

Daya hidup kecerdasan super membangkitkan! Tetapi dengan kedatangan AI yang mengemas kini sendiri, ibu tidak perlu lagi bimbang tentang kesesakan data

Google gembira: prestasi JAX mengatasi Pytorch dan TensorFlow! Ia mungkin menjadi pilihan terpantas untuk latihan inferens GPU Google gembira: prestasi JAX mengatasi Pytorch dan TensorFlow! Ia mungkin menjadi pilihan terpantas untuk latihan inferens GPU Apr 01, 2024 pm 07:46 PM

Google gembira: prestasi JAX mengatasi Pytorch dan TensorFlow! Ia mungkin menjadi pilihan terpantas untuk latihan inferens GPU

Kelajuan Internet Data Selular Perlahan pada iPhone: Pembetulan Kelajuan Internet Data Selular Perlahan pada iPhone: Pembetulan May 03, 2024 pm 09:01 PM

Kelajuan Internet Data Selular Perlahan pada iPhone: Pembetulan

Tentera Udara A.S. mempamerkan jet pejuang AI pertamanya dengan profil tinggi! Menteri secara peribadi menjalankan pandu uji tanpa campur tangan semasa keseluruhan proses, dan 100,000 baris kod telah diuji selama 21 kali. Tentera Udara A.S. mempamerkan jet pejuang AI pertamanya dengan profil tinggi! Menteri secara peribadi menjalankan pandu uji tanpa campur tangan semasa keseluruhan proses, dan 100,000 baris kod telah diuji selama 21 kali. May 07, 2024 pm 05:00 PM

Tentera Udara A.S. mempamerkan jet pejuang AI pertamanya dengan profil tinggi! Menteri secara peribadi menjalankan pandu uji tanpa campur tangan semasa keseluruhan proses, dan 100,000 baris kod telah diuji selama 21 kali.

Robot pertama yang menyelesaikan tugas manusia secara autonomi muncul, dengan lima jari fleksibel dan kelajuan manusia luar biasa, dan model besar menyokong latihan angkasa maya Robot pertama yang menyelesaikan tugas manusia secara autonomi muncul, dengan lima jari fleksibel dan kelajuan manusia luar biasa, dan model besar menyokong latihan angkasa maya Mar 11, 2024 pm 12:10 PM

Robot pertama yang menyelesaikan tugas manusia secara autonomi muncul, dengan lima jari fleksibel dan kelajuan manusia luar biasa, dan model besar menyokong latihan angkasa maya

See all articles