-- Create sequence
create sequence SEQ_1_99999
minvalue 1
maxvalue 99999
start with 3
increment by 1
nocache
cycle;select trim(to_char(sysdate,'yyyy-mm-dd-')) || seq_1_99999.nextval from dual
create sequence SEQ_1_99999
minvalue 1
maxvalue 99999
start with 3
increment by 1
nocache
cycle;select trim(to_char(sysdate,'yyyy-mm-dd-')) || seq_1_99999.nextval from dual
解决方案 »
- ORA-04089: 无法对 SYS 拥有的对象创建触发器
- 因为之前的描述不清楚,重新发帖求助SQL。。。
- 求oracle 中这 .(点)是什么作用,谷歌百度不到啊。
- 表的设计问题:关于列的拆分 牢烦大家看看
- VB6+SP6的在WIN98下怎样连接ORACLE?
- Oracle(10g)安装正常,计算机重启后就出现ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
- Update奇怪的问题
- 寻找plsql developer完全文档:100分
- 在ORACLE中连接和会话有何区别???
- 请教ORACLE高手一个问题
- 向高手求助 - 大数据量查询问题
- 新手小问题,本地java连接oracle8i数据库,怎么样定义URL和driver的字串
MAXVALUE 9999
START WITH 1
INCREMENT BY 1
CYCLE;2、建存储过程
CREATE OR REPLACE FUNCTION cr_se_code RETURN VARCHAR2
IS
str1 VARCHAR2(20);
i INTEGER;
Result VARCHAR2(30);
BEGIN
str1:=to_char(SYSDATE,'yyyymmdd');
SELECT s_eg.NEXTVAL INTO i FROM dual;
str1:=str1||lpad(to_char(i),5,'0');
result:=str1;
RETURN(Result);
END cr_se_code;我测试过了。还很好用,测试语句如下:
DECLARE
str1 VARCHAR2(20);
BEGIN
str1:=cr_se_code();
dbms_output.put_line(str1);
END;
MAXVALUE 9999
START WITH 1
INCREMENT BY 1
CYCLE;应为:
1、先建个sequenceCREATE SEQUENCE s_eg
MAXVALUE 9999
START WITH 1
INCREMENT BY 1
CYCLE;
这个我在过程中给你处理了,测一下你就明白了,
是通过lpad(to_char(i),5,'0'),使1变为串'00001'的.