首先创建一张表
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;