Other Database Object
____________________________________________________________________
Database Object
Sequence
Index
View
===================================================================
Sequence
sequence (oracle专用)是共享的每一个表都可以用,但是序列会不连续
所以最好每一张表单独建一个序列
sequence 1.序列名.nexval
2.序列名.cullval
create sequence lhj_seq;
insert into studentlhj values(lhj_seq.nextval,'zhou',16,1);
insert into studentlhj values(lhj_seq.nextval,'mei',22,2);
sequence从1开始.
create sequence lhj_seq increment by 4 maxvalue 20
start with 4 ;
insert into studentlhj values(lhj_seq.nextval,'xu',35,2);
alter sequence lhj_seq nomaxvalue;
user_squences
SQL> desc user_sequences
Name Null? Type
----------------------------------------- -------- -----------------
SEQUENCE_NAME NOT NULL VARCHAR2(30)
MIN_VALUE NUMBER
MAX_VALUE NUMBER
INCREMENT_BY NOT NULL NUMBER
CYCLE_FLAG VARCHAR2(1)
ORDER_FLAG VARCHAR2(1)
CACHE_SIZE NOT NULL NUMBER
LAST_NUMBER NOT NULL NUMBER
insert into studentlhj values(lhj_seq.currval,'mei',22,2);
//插入当前值
select lhj_seq.currval from dual;//查看序列的当前值
______________________________________________________
练习1
用一条sql语句删除表中的重复记录(名字重复的即为重复记录)
select * from studentlhj;
select rowid from studentlhj;
SQL> select * from studentlhj;
ID SNAME AGE CID
---------- ---------- ---------- ----------
101 zhang 23 1
102 liu 33 2
103 sun 25 2
104 wu 23
____________________________________________________________________
Database Object
Sequence
Index
View
===================================================================
Sequence
sequence (oracle专用)是共享的每一个表都可以用,但是序列会不连续
所以最好每一张表单独建一个序列
sequence 1.序列名.nexval
2.序列名.cullval
create sequence lhj_seq;
insert into studentlhj values(lhj_seq.nextval,'zhou',16,1);
insert into studentlhj values(lhj_seq.nextval,'mei',22,2);
sequence从1开始.
create sequence lhj_seq increment by 4 maxvalue 20
start with 4 ;
insert into studentlhj values(lhj_seq.nextval,'xu',35,2);
alter sequence lhj_seq nomaxvalue;
user_squences
SQL> desc user_sequences
Name Null? Type
----------------------------------------- -------- -----------------
SEQUENCE_NAME NOT NULL VARCHAR2(30)
MIN_VALUE NUMBER
MAX_VALUE NUMBER
INCREMENT_BY NOT NULL NUMBER
CYCLE_FLAG VARCHAR2(1)
ORDER_FLAG VARCHAR2(1)
CACHE_SIZE NOT NULL NUMBER
LAST_NUMBER NOT NULL NUMBER
insert into studentlhj values(lhj_seq.currval,'mei',22,2);
//插入当前值
select lhj_seq.currval from dual;//查看序列的当前值
______________________________________________________
练习1
用一条sql语句删除表中的重复记录(名字重复的即为重复记录)
select * from studentlhj;
select rowid from studentlhj;
SQL> select * from studentlhj;
ID SNAME AGE CID
---------- ---------- ---------- ----------
101 zhang 23 1
102 liu 33 2
103 sun 25 2
104 wu 23