- 创建临时表空间
create temporary tablespace tem _jk6136
tempfile 'g:\oradata\.dbf'
size 50m
autoextend on next 5m
maxsize 50m
extent management local ;
- 创建数据表空间
SQL> create tablespace tbs_jk6136
datafile 'g:\oradata\tbs_jk6136.dbf'
size 100M
autoextend on next 10M
maxsize unlimited
extent management local autoallocate
segment space management auto ;
3.创建用户c##user6136并制定临时表空间和默认表空间
create user c##user6136 identified by 123456(密码)
default tablespace tbs_jk6136
temporary tablespace tem_jk6136;
4.给用户授予权限
grant connect,resource to c##user6136;
5.创建学生信息表
create table xsxxb
( xh number(12),
xm varchar2(8),
xb varchar2(2)
) tablespace tbs_jk6136;
6.插入信息
insert into xsxxb
(xh,xm,xb)
values
(学号XXX,'姓名XXX','男');
insert into xsxxb
(xh,xm,xb)
values
(201731106137,'张三','男');
insert into xsxxb
(xh,xm,xb)
values
(201731106138,'李四','女');
7.查看一下结果
select * from xsxxb
Alter column不能改变表的表名
8.建教师信息表
create table jsxxb
( zgbh number(12),
xm varchar2(8),
xb varchar2(2)
) tablespace tbs_jk6136;
9.插入数据到教师信息表中
insert into jsxxb
(zgbh,xm,xb)
values
(201731106111,'李老师','女');
insert into jsxxb
(zgbh,xm,xb)
values
(201731106112,'王老师','男');
insert into jsxxb
(zgbh,xm,xb)
values
(201731106113,'陈老师','男');
10.查看表所属的表空间
11.非预定异常
12.把表空间设置只读 alter tablespace tbs_jk6136 read only;(设置只读后无法插入数据)
13.创建保存点
savepoint sp1
14.返回保存点
Rollback to sp1
15.查询所有表空间(可以看哪个是永久表空间)
select * from dba_tablespaces;
16.(1)给表空间增加数据文件
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
(2)新增数据文件,并且允许数据文件自动增长
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
(3)允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
(4)手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'
RESIZE 100M;
17.主键约束:用来唯一标识表中的一个列,一个表中的主键约束只能有一个。
外键约束:用来约束两个表列之间的关系
create table tsxxb6136
( bh number(12),
bname varchar2(30),
pname varchar2(12),
author varchar2(8),
xb varchar2(2),
price number(6),
PRIMARY KEY (bh)
) tablespace system;(重启后TSB_JK16136在表空间里找不到了,此时永久表空间是system)
18.检查约束(创建出版社约束pname_ys,限定出版社名称为高等教育出版社、清华大学出版社、机械工业出版社、电子工业出版社;
)
constraint pname_ys check (pname in('高等教育出版社','清华大学出版社','机械工业出版社','电子工业出版社'))
19.创建公共同义词(创建tushuxinxibiao+学号的同义词tsxxb+学号)
create public synonym tttsxxb6136 for tsxxb;
20. 在学号表空间内创建图书销售信息表xstsb+学号(图书编号bh<Primary key约束>,销售册数cs,销售时间sj),在bh上添加与tsxxb的bh的外键约束,
create table xstsb6136
( bh number(12),
sj varchar2(8),
cs number(6),
constraint fk_bh foreign key (bh) REFERENCES
tsxxb6136(bh)
) tablespace system;
1、创建存储过程“plog_学号”记录在晚11点到晨8点之间针对xscjb所做的增删改操作。其中插入操作ycj为0,xcj为新增记录的成绩;删除操作在ycj记录被删学生的成绩,xcj为0;修改操作在ycj记录修改前成绩,xcj为修改后成绩;所有操作均记录对应操作类型(增删改分别对应ins、del、upd)、用户名、IP、时间
create trigger trg_6136_1
after insert or update or delete
on xsxxb6136
for each row
begin
if inserting then
insert into log_6136_1(xh,ycj,xcj,yhm,ip,cz,sj)
values(new.xh,new.ycj,new.xcj,new.yhm,new.ip,'添加的数据',sysdate);
elsif deleting then
insert into log_6136_1(xh,ycj,xcj,yhm,ip,cz,sj)
values(old.xh,old.ycj,old.xcj,old.yhm,old.ip,'删除的数据',sysdate);
else
insert into log_6136_1(xh,ycj,xcj,yhm,ip,cz,sj)
values(old.xh,old.ycj,old.xcj,old.yhm,old.ip,'修改的数据',sysdate);
end if;