当前位置:Gxlcms > 数据库问题 > Oracle常用语句

Oracle常用语句

时间:2021-07-01 10:21:17 帮助过:4人阅读

table tbluser ( id number(8) primary key, username VARCHAR2(100) not null, sex VARCHAR2(2) default , age number(3), companyaddress VARCHAR2(1000), homeaddress varchar2(1000), phone varchar2(40), tel varchar2(40), remark varchar2(4000) )

--创建自动增长列

1.创建序列

2.创建触发器(或者在创建完序列后在插入表数据时直接在自增列使用user_id.nextval代替)

创建一个从10001开始每次增1的序列

--第一种方法
create sequence tbluser_id start with 10001 increment by 1;

--第二种方法:
create sequence user_id
minvalue 1
maxvalue 9999999999999999999999999999
start with 10001 --从10001开始
increment by 1 -- 增量1
cache 20;

查询DB中创建的序列(区分大小写)

select * from user_sequences t where t.sequence_name=USER_ID;

为user表创建一个before insert 的触发器,在插入之前将表user的主键设置为上面的序列

create or replace trigger user_id_trigger 
before
insert on tbluser for each row --一定要加上eac row 表示触发器适应于每一行 --when(new.id is null) --加和不加都行 declare mid number; begin select user_id.nextval into mid from dual; :new.id:=mid; --上面两句也可以写成如下语句(取消定义mid) --select user_id.nextval into:new.id from dual; end;

查看触发器

select * from user_triggers t where t.trigger_name=USER_ID_TRIGGER;

给表添加索引

create index idx_tbluser_id on tbluser(id);

查看表约束

select * from user_constraints;

给表添加主键

alter table tbluser add constraint ID_PK primary key(ID);

给表添加备注

COMMENT on column tbluser.id is 自动增长列;
COMMENT on column tbluser.username is 用户名;

 

给表新增列(多列)

alter table tbluser add
(
    usercode varchar2(40),
    userclass varchar2(40)
);

给表新增列(一列)

alter table tbluser add memo varchar2(400);

以上为博主自行整理,后续还会持续更新。如需转载请标注来源!

Oracle常用语句

标签:ack   new   ESS   start   create   trigger   max   style   大小   

人气教程排行