ITPub博客

首页 > 数据库 > Oracle > oracle建表设置主键自增

oracle建表设置主键自增

Oracle 作者:yegoyang 时间:2013-11-20 17:12:15 0 删除 编辑

首先创建一张表

create table member(
memberId number primary key,
memberMail varchar2(20)not null,
memberName varchar2(20) not null,
memberPassword varchar2(20)
);

 


然后,你需要一个自定义的sequence
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
NOCACHE -- 不建缓冲区

 

你只有了表和序列还不够,还需要一个触发器来执行它!代码如下:

create trigger mem_trig before
insert on member for each row when (new.memberId is null)
begin

 select emp_sequence.nextval into:new.memberId from dual;

 end;

这样就可以就可以了,插入数据测试

insert into member(memberMail,memberName,memberPassword) values('123@qq.com','jack','123456');

 

查询表中的数据

select * from member;



据我所知,表空间的扩展有两种方法:
1、增加数据文件
2、调整当前数据文件的大小或扩展的大小
 
1、增加数据文件
ALTER TABLESPACE TESTTBS
ADD DATAFILE '+DG1/ora/datafile/testtbs01.ora' SIZE 500M
AUTOEXTEND ON
NEXT 50M
MAXSIZE 2000M;
 
增加了一个500M的数据文件,并且可以自动扩展到2G,每次扩展50M。
 
2、增加当前数据文件的大小:
ALTER DATABASE
DATAFILE '+DG1/ora/datafile/testtbs.ora'
RESIZE  50000M;
 
或者使用file_id
ALTER DATABASE
DATAFILE 10
RESIZE  50000M;
 
3、在使用过程中,如果想改变某个数据文件的最大大小,可以
 
ALTER DATABASE
DATAFILE  '+DG1/ora/datafile/test.ora'
AUTOEXTEND ON

NEXT 50M
MAXSIZE  10240M;

 --查询表空间的总容量
  select tablespace_name, sum(bytes) / 1024 / 1024 as MB
  from dba_data_files
  group by tablespace_name;

  --查询表空间使用率
  select total.tablespace_name,
  round(total.MB, 2) as Total_MB,考试大论坛
  round(total.MB - free.MB, 2) as Used_MB,
  round((1 - free.MB / total.MB) * 100, 2) || '%' as Used_Pct
  from (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
  from dba_free_space
  group by tablespace_name) free,
  (select tablespace_name, sum(bytes) / 1024 / 1024 as MB
  from dba_data_files
  group by tablespace_name) total
  where free.tablespace_name = total.tablespace_name;
 


<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21252271/viewspace-1116007/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-03-30