Oracle数据库例题及解析分享【1】

  1. 创建临时表空间
 create temporary tablespace tem _jk6136
tempfile 'g:\oradata\.dbf' 
size 50m 
autoextend on next 5m
 maxsize 50m
extent management local  ;
  1. 创建数据表空间
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;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值