那位能帮我解释一下建立sequence的语句

newgina 2003-07-04 09:24:25
那位能帮我解释一下建立sequence的语句

create sequence SEQ_LOGID
minvalue 1
maxvalue 99999999
start with 1401
increment by 1
cache 20;
以上好像是建立一个sequence叫SQQ_LOGID,最小值是1,最大值是99999999,这个satar with 就不太明白,increment by是不是增长为1呀。缓存为20
CREATE OR REPLACE TRIGGER TR_LOGID
BEFORE INSERT
on T028_LOG
for each row
这里的建立一个TRIGGER不知道是什么。之后的BEFORE INSERT on T028_LOG就不知道了
begin
SELECT SEQ_LOGID.NEXTVAL
INTO :new.ID
FROM dual;
end;
这里是不是在左测试呀 不知道那个:newID是什么呀
谢谢






...全文
99 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
armu80830 2003-07-05
  • 打赏
  • 举报
回复
:new.ID 指新增加的记录的ID字段的值
woodpan 2003-07-05
  • 打赏
  • 举报
回复
start with 1401 sequence从1401开始增长
下面的触发器就是每插入一条记录ID字段取sequence.nextvalue以实现自增长,oracle中用这个来实现sql server中自增字段的功能。
xbm2002 2003-07-05
  • 打赏
  • 举报
回复
increment by 1 我知道是每次增长1
但是cache 20 为每次增长20就让我有点莫不着头脑
beckhambobo 2003-07-05
  • 打赏
  • 举报
回复
satar with 就是开始值
increment by 1 是增长为1
cache 20 为每次增长为20

对于以上触发器,每次插入数据触发触发器,插入到id
zakat 2003-07-05
  • 打赏
  • 举报
回复
序列(SEQUENCES)
this table are in the data dictionary:ALL_SEQUENCES
ALL_SEQUENCES describes all sequences accessible to the user.

Related views:
DBA_SEQUENCES describes all sequences in the database.

USER_SEQUENCES describes all sequences owned by the current user. This view does not display the SEQUENCE_OWNER column.

Column Datatype NULL Description
SEQUENCE_OWNER
VARCHAR2(30)
NOT NULL
Name of the owner of the sequence

SEQUENCE_NAME
VARCHAR2(30)
NOT NULL
Sequence name

MIN_VALUE
NUMBER
Minimum value of the sequence

MAX_VALUE
NUMBER
Maximum value of the sequence

INCREMENT_BY
NUMBER
NOT NULL
Value by which sequence is incremented

CYCLE_FLAG
VARCHAR2(1)
Does sequence wrap around on reaching limit

ORDER_FLAG
VARCHAR2(1)
Are sequence numbers generated in order

CACHE_SIZE
NUMBER
NOT NULL
Number of sequence numbers to cache

LAST_NUMBER
NUMBER
NOT NULL
Last sequence number written to disk. If a sequence uses caching, the number written to disk is the last number placed in the sequence cache. This number is likely to be greater than the last sequence number that was used

Sample:
Create sequence myseq increment by 1 start with 10 nomaxvalue nocycle cache10;
Robin 2003-07-04
  • 打赏
  • 举报
回复

17,377

社区成员

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

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