给你一个例子了,从一开始累加,每次加一个,不用循环,每次使用的时候取到CACHE为10个
CREATE SEQUENCE xxx
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 10;
CREATE SEQUENCE xxx
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 10;
解决方案 »
- oracle imp 报错 6550 --在线等高手.谢谢了,急啊!!!
- 同样的查询语句,为什么查出的结果会不一样?
- 发现一款连接Oracle数据库的工具:----- Object Browser ,散分中。。。
- oracle 数据库角色问题
- 在应用程序中要连接oracle数据库,是否必须安装oracle客户端?
- 求助:数据导入的问题
- 紧急求救: SP2-0738: 限制的命令 "edit" 不可用
- 很采的问题。小弟只有10分了,请各位见量。
- 为什么truncate后,表空间一直都没释放出来啊。
- 如何写这个sql语句啊!求助!谢谢了!
- ■■高分请教一个SQL语句:ORACLE数据库,请看叙述■■
- 求教SQL语句
比如我要建一个表
create table 公告(id number(10), sd char(30));让id是自动加一的,就象access中的那样。
1、建立表:
CREATE TABLE checkup_history(
CHECKUP_NO NUMBER(10,0) NOT NULL,
ID_NO NUMBER(10,0),
CHECKUP_TYPE VARCHAR2(30),
CHECKUP_DATE DATE,
DOCTOR_NAME VARCHAR2(50)
);
2、建立序列:
CREATE SEQUENCE checkup_no_seq
NOCYCLE
MAXVALUE 9999999999
START WITH 2;3、建立触发器:
CREATE OR REPLACE TRIGGER set_checkup_no
BEFORE INSERT ON checkup_history
FOR EACH ROW
DECLARE
next_checkup_no NUMBER;
BEGIN
--Get the next checkup number from the sequence
SELECT checkup_no_seq.NEXTVAL
INTO next_checkup_no
FROM dual;
--use the sequence number as the primary key
--for the record being inserted
:new.checkup_no := next_checkup_no;
END;
-------------------------------------------------------------
drop table 帖子;
create table 帖子(贴子id number(13),
版块id number(13),
回复id number(13),
贴子名称 nchar(50),
贴子内容 clob,
发表日期 date,
贴子作者 nchar(50),
点击次数 number(13),
回复次数 number(13),
贴子长度 nchar(50),
显示签名 number(13),
贴子图片 varchar(50),
IP地址 varchar(50),
回复用户 nchar(50),
回复时间 date);
CREATE SEQUENCE bbsid
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOCYCLE
CACHE 10;CREATE OR REPLACE TRIGGER 贴子id
BEFORE INSERT ON 帖子
FOR EACH ROW
DECLARE
next_id NUMBER;
BEGIN
--Get the next checkup number from the sequence
SELECT bbsid.NEXTVAL
INTO next_id
FROM test;
--use the sequence number as the primary key
--for the record being inserted
:new.贴子id := next_id;
END;-------------------------------------------------------------
还是不好用,也未提示任何错误。
另:
建立触发器是否需要什么操作才能好用?
分不够再加!