关于oracle字段定义的几个问题向高手请教,在线等待,多谢!!

haikuotiankong 2003-03-06 05:52:07
1.如何定义自动累加型字段;如:第一条记录该字段是1,下一条记录该字段自动取2;
2.想取出系统时间,如何操作,如何定义该字段,就象to_date一样的函数有吗?
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zakat 2003-03-06
  • 打赏
  • 举报
回复
不过提醒楼上的:如果中间有其他事务,这个序列将是不连续的。 maohaisheng() 仁兄start with 100 好像不行,要从1开始吧。 start1127(start1127) 的cycle虽然说maxvalue 999999999 值很大了,但习惯好像不是很好,应该想maohaisheng() 仁兄一样nocycle
beckhambobo 2003-03-06
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/1188/1188814.xml?temp=.9224359
start1127 2003-03-06
  • 打赏
  • 举报
回复
建立一个最小为1,最大为999999999的一个序列号会自动循环的序列

create sequence 序列名
increment by 1
start with 1
maxvalue 999999999
cycle;

当向表中插入数据时,SQL语句写法如下:

SQL> insert into 表名 values(序列名.nextval,列1值,列2值);
maohaisheng 2003-03-06
  • 打赏
  • 举报
回复
序列是一个数据库对象,可以产生等量间隔的整数值。
创建序列
CREATE SEQUENCE MY_SEQ
INCREMENT BY 1
START WITH 100
NOMAXVALUE
NOCYCLE
CACHE 10;

只有在NEXTVAL被前一个事务或者当前事务引用后,才可以使用CURRVAL。在程序中一上来就使用CURRVAL是错误的。
NEXTVAL自动提交。
SELECT MY_SEQ.NEXTVAL FROM DUAL;
SELECT MY_SEQ.CURRVAL FROM DUAL;
删除序列
DROP SEQUENCE MY_SEQ;


取出系统时间
select sysdate from dual;





17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧