oracle 建表id自增长_oracle建表设置主键自增

首先创建一张表

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;

原文链接:https://blog.csdn.net/weixin_35664144/article/details/111892314

posted @ 2022-08-26 15:11  红尘沙漏  阅读(1576)  评论(0编辑  收藏  举报