1、创建一个测试表:
create table test(
Id number(10),
name varchar2(32),
);
2、创建sequence自动增长序列:
create sequence "Tablespace"."seq_test" ------------Tablespace:表空间名;seq_test:序列名
minvalue 1 ----------------------最小值
maxvalue 99999999999 ----------------------最大值
increment by 1 ----------------------递增
start with 1 ----------------------从...开始
cache 20 --------------------缓存20个序列数,默认值为20
noorder nocycle ; -------------无序循环
2、查询序列:
select seq_test.nextval from sys.dual; ------------seq_test:序列名
3、删除序列的SQL
drop sequence seq_test; ------------seq_test:序列名
3、创建触发器
create or replace TRIGGER TG_USERNAME ------------TG_USERNAME:触发器名称
before insert on USERNAME for each row ----------- USERNAME:触发器的表名
when (new.id is null or new.id=0)
begin
select seq_test.Nextval into:new.ID from dual; ----------seq_test:序列名称;ID:是给ID装上序列
end;
4、删除触发器
DROP TRIGGER TG_USERNAME ------------TG_USERNAME:触发器名称
5、创建索引
CREATE UNIQUE INDEX "Tablespace"."PK_USERNAME" ON "Tablespace"."USERNAME" ("ID")
PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
STORAGE(INITIAL 1048576 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "Tablespace" ; ------Tablespace:表空间;PK_USERNAME:索引名称;USERNAME:表名称
6、删除索引
drop index PK_USERNAME; -----------PK_USERNAME:索引名称;
7、附加
primary key -----主键索引。索引列唯一且不能为空;一张表只能有一个主键索引(主键索引通常在建表的时候就指定)
normal ------普通索引。索引列没有任何限制;
unique ------唯一索引。索引列的值必须是唯一的,但允许有空;
fulltext ----- 全文搜索的索引。fulltext 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 index 也可以。索引的新建和删除和上面一致 (注:还有一个组合索引)