oracle 流水号 (日期)
来源:互联网 发布:2017人工智能高校沙龙 编辑:程序博客网 时间:2024/04/30 04:57
在网上找了一下,没有,那就自己写一个了,刚换一公司,刚学习oracle,请大家见笑.可能用MSSQL多了,从编程来说感觉还没有MSSQL方便.用MSSQL下面就是一个函数.如果大家有好的方法,清说说:
--添加sequence drop sequence EXAMPLE_SEQ
create sequence EXAMPLE_SEQ
increment by 1
start with 0
minvalue 0
maxvalue 9999
cache 20;
--添加表
create TABLE TEST(id VARCHAR2(20),no VARCHAR2(10),E_ON VARCHAR2(20))
--在TEST表上创建一个触发器
CREATE OR REPLACE TRIGGER TRI_EXAMPLE_TABLE BEFORE INSERT ON TEST FOR EACH ROW
begin
select to_char(sysdate,'yymmdd')||lpad(EXAMPLE_SEQ.nextval,4,0) into :new.E_NO from dual;
end;
--创建procedure,修改sequence。 seq_reset(''EXAMPLE_SEQ'')
create or replace procedure seq_reset(v_seqname varchar2) as
n number(10);
tsql varchar2(100);
begin
execute immediate 'select '||v_seqname||'.nextval from dual' into n;
n:=-(n-1);
tsql:='alter sequence '||v_seqname||' increment by '|| n;
execute immediate tsql;
execute immediate 'select '||v_seqname||'.nextval from dual' into n;
tsql:='alter sequence '||v_seqname||' increment by 1';
execute immediate tsql;
end seq_reset;
/**//*
/begin
seq_reset('EXAMPLE_SEQ');
end;
*/
/**//************JOB TEST
create or replace procedure Pro_test as
begin
insert into test( id,no )values('test',to_char(sysdate,'yyyymmdd hh24:mi:ss'));
commit;
end Pro_test;
--delete from test where id>'2'
alter System set job_queue_processes = 30;
declare
job2 number;
begin
sys.dbms_job.submit(job2,'Pro_test;',sysdate,'sysdate+(80/(24*60*60))');
commit;
end;
declare job11 integer;
begin
sys.dbms_job.submit(job11,'seq_reset(''EXAMPLE_SEQ'');',sysdate,'sysdate+(180/(24*60*60))');
commit;
end;
select * from test
begin
Pro_test;
--seq_reset('seq_1');
end;
select seq_1.nextval from dual;
--删除JOB
connect scott/tiger@库名
select job,log_user,what from user_jobs;
select job,log_user,what from dba_jobs;
execute dbms_job.remove(1);
connect scott/tiger@库名
select job,log_user,what from user_jobs;
select job,log_user,what from dba_jobs;
execute dbms_job.remove(1);
*************************/
--创建一个JOB,让其每天零点的时候调用重置序列的过程
declare
job1 integer;
begin
sys.dbms_job.submit(job1 , 'seq_reset(''EXAMPLE_SEQ'');', to_date('20080218 00:00:01', 'yyyymmdd hh24:mi:ss'), -- 计划的初次执行日期,请根据具体情况设定
'to_date(to_char(sysdate+1,''yyyymmdd'')||''00:00:01'',''yyyymmdd hh24:mi:ss'')');
commit;
end;
- oracle 流水号 (日期)
- oracle 生成流水号
- Oracle 生成流水号
- Oracle序列 生成订单流水号(加日期或别的信息)
- ORACLE中生成流水号
- Oracle 生成流水号解决方案
- oracle 函数生成流水号
- Oracle流水号生成函数
- 日期、字符串、流水号处理应用举例
- SQL学习----日期流水号生成
- Oracle 按天产生流水号
- 根据日期+顺序号生成流水号的存储过程
- 使用当前日期做为流水号,采用函数
- SQL SERVER 根据日期自动生成流水号
- 日期的格式化和工单流水号生成
- java自增流水号(日期+随机数)
- 流水号的生成(日期+业务码+自增序列)
- 单据缩写+日期+固定长度流水号函数
- 详解原始网站日志
- 次贷危机影响中国上市富豪 马云财富缩水一半
- 还没毕业先找个地方去实习
- 李天平的 工具 生成存储过程sql语句时候有错误的。
- Using Ant
- oracle 流水号 (日期)
- 测试设计中需要考虑的22种测试类型(转自ququhu的专栏)
- 数据库查询提高效率方法
- 集群(cluster)&高可用性(HA)概念
- ASP.NET日期处理函数
- 用CSS定义应用的外观
- 软件测试架构师
- 给各位使用msn插件的乡亲父老叔伯兄弟姐妹同志提个醒
- [ORACLE EBS]4. Get All Profile Values