oracle练习
来源:互联网 发布:人防大数据 编辑:程序博客网 时间:2024/05/01 17:37
1.创建两个本地管理表空间,表空间名为xm1和xm2,各包含一个数据文件
(文件名为d:\A1.DBF和d:\A2.dbf),大小都为50M。
前者让系统自动选择所分配的区的大小且自动段空间管理,
后者将每次分配的区大小统一限制为128K。(10分)
create tablespace jiashixin1
datafile 'd:\A1.dbf' size 50M
extent management local autoallocate segment space management auto;
create tablespace jiashixin2
datafile 'd:\A2.dbf' size 50M
extent management local uniform size 128k;
2.为表空间xm1添加一个数据文件(文件名为d:\A3.DBF,大小为10m),
并查询表空间名和数据文件
(用col tablespace_name for a30,col file_name for a30 控制每行输出的列数使输出内容整齐)。(10分)
alter tablespace jiashixin1 add datafile 'D:\A3.dbf' size 10M;
select tablespace_name,file_name from dba_data_files;
3.创建用户“xm”,密码为自己学号,该用户采用数据库口令认证方式,
强制要求首次登陆时必须修改密码,将默认表空间设置为xm1,并在xm1表空间上为其分配10m空间限额。(10分)
create user jiashixin identified by 201410625109
password expire default
tablespace jiashixin1
quota 10M on jiashixin1;
4.把系统权限resource、创建会话和创建表等的权限授予用户xm。(5分)
grant resource,create session ,create table to jiashixin;
create role role_jiashixin identified by 201410625109;
5. 创建一个角色role_xm,并为角色授予insert\update\delete权限,再把角色授予用户xm。(10分)
grant insert,update,delete on scott.dept to role_jiashixin;
grant role_jiashixin to jiashixin;
6. 连接用户,将SQL*plus的默认提示符从“SQL>”修改为显示当前用户名和连接标识符。(5分)
set sqlprompt "_USER '@'_CONNECT_IDENTIFIER _date"
set time on;
7. 在当前用户下创建两个表BOOKS和ORDERS,存储表空间为xm,表的结构如下:
create table books(
bookId char(6) primary key,
bookName varchar2(20),
author varchar2(20),
bookTime date default sysdate
)
tablespace jiashixin1;
create table orders(
orderId char(4) primary key,
bookId char(6)references books(bookId),
dgsl integer
)
tablespace jiashixin1;
8、用insert into插入记录,两个表的记录如图,只写出插入下列表列出的记录。
insert into books values('101','ORACLE数据库','贾世鑫',to_date('1999-01-01','YYYY-MM-DD'));
insert into books values('102','VF数据库','贾世鑫',to_date('2010-01-01','YYYY-MM-DD'));
insert into books values('104','VB程序设计','贾世鑫',to_date('1999-01-01','YYYY-MM-DD'));
insert into books values('105','VC程序设计','贾世鑫',to_date('2010-01-01','YYYY-MM-DD'));
insert into orders values('01','101','150.00');
insert into orders values('02','101','140.00');
insert into orders values('03','102','400.00');
insert into orders values('04','102','410.00');
insert into orders values('05','102','390.00');
insert into orders values('06','103','600.00');
9、创建范围分区表rang_book_xm(结构和books一样),
根据出版时间(booktime)创建分区,将1999年1月1日前的保存在第一分区中p1中,
表空间为xm1;其他的保存在第一分区中p2中,表空间为xm2;
用insert into ...select ...插入books表的记录(表3),
并查询1999年1月1日前(及p1分区)的记录。(10分)
create table rang_book_jiashixin(
bookId char(6) primary key,
bookname varchar2(20),
author varchar2(20),
booktime date
)
partition by range(booktime)
(
partition p1 values less than(to_date('1999-01-01','YYYY-MM-DD'))tablespace jiashixin1,
partition p2 values less than(maxvalue) tablespace jiashixin2
);
10.创建一个视图xm_view,检索books中的bookid,bookname和orders的dgsl,并查询这个视图,显示视图的结果。(10分)
create view jiashixin_view
as
select b.bookid,b.bookname,ord.dgsl
from books b,orders ord
where b.bookid=ord.bookid;
11.用创建游标(xm_yb)的方法实现显示books表中的全部数据。(10分)
set serveroutput on
declare
cursor jiashixin_yb is
select bookId,bookName,author,bookTime
from books
order by bookId;
begin
FOR V_BOOKS IN jiashixin_yb LOOP
DBMS_OUTPUT.PUT_LINE(jiashixin_yb%ROWCOUNT || ':' ||
V_BOOKS.BOOKID || ' ' || V_BOOKS.BOOKNAME|| ' ' ||
V_BOOKS.AUTHOR || ' ' || V_BOOKS.BOOKTIME);
end loop;
if jiashixin_yb%isopen then close jiashixin_yb;
end if;
end;
/
(文件名为d:\A1.DBF和d:\A2.dbf),大小都为50M。
前者让系统自动选择所分配的区的大小且自动段空间管理,
后者将每次分配的区大小统一限制为128K。(10分)
create tablespace jiashixin1
datafile 'd:\A1.dbf' size 50M
extent management local autoallocate segment space management auto;
create tablespace jiashixin2
datafile 'd:\A2.dbf' size 50M
extent management local uniform size 128k;
2.为表空间xm1添加一个数据文件(文件名为d:\A3.DBF,大小为10m),
并查询表空间名和数据文件
(用col tablespace_name for a30,col file_name for a30 控制每行输出的列数使输出内容整齐)。(10分)
alter tablespace jiashixin1 add datafile 'D:\A3.dbf' size 10M;
select tablespace_name,file_name from dba_data_files;
3.创建用户“xm”,密码为自己学号,该用户采用数据库口令认证方式,
强制要求首次登陆时必须修改密码,将默认表空间设置为xm1,并在xm1表空间上为其分配10m空间限额。(10分)
create user jiashixin identified by 201410625109
password expire default
tablespace jiashixin1
quota 10M on jiashixin1;
4.把系统权限resource、创建会话和创建表等的权限授予用户xm。(5分)
grant resource,create session ,create table to jiashixin;
create role role_jiashixin identified by 201410625109;
5. 创建一个角色role_xm,并为角色授予insert\update\delete权限,再把角色授予用户xm。(10分)
grant insert,update,delete on scott.dept to role_jiashixin;
grant role_jiashixin to jiashixin;
6. 连接用户,将SQL*plus的默认提示符从“SQL>”修改为显示当前用户名和连接标识符。(5分)
set sqlprompt "_USER '@'_CONNECT_IDENTIFIER _date"
set time on;
7. 在当前用户下创建两个表BOOKS和ORDERS,存储表空间为xm,表的结构如下:
create table books(
bookId char(6) primary key,
bookName varchar2(20),
author varchar2(20),
bookTime date default sysdate
)
tablespace jiashixin1;
create table orders(
orderId char(4) primary key,
bookId char(6)references books(bookId),
dgsl integer
)
tablespace jiashixin1;
8、用insert into插入记录,两个表的记录如图,只写出插入下列表列出的记录。
insert into books values('101','ORACLE数据库','贾世鑫',to_date('1999-01-01','YYYY-MM-DD'));
insert into books values('102','VF数据库','贾世鑫',to_date('2010-01-01','YYYY-MM-DD'));
insert into books values('104','VB程序设计','贾世鑫',to_date('1999-01-01','YYYY-MM-DD'));
insert into books values('105','VC程序设计','贾世鑫',to_date('2010-01-01','YYYY-MM-DD'));
insert into orders values('01','101','150.00');
insert into orders values('02','101','140.00');
insert into orders values('03','102','400.00');
insert into orders values('04','102','410.00');
insert into orders values('05','102','390.00');
insert into orders values('06','103','600.00');
9、创建范围分区表rang_book_xm(结构和books一样),
根据出版时间(booktime)创建分区,将1999年1月1日前的保存在第一分区中p1中,
表空间为xm1;其他的保存在第一分区中p2中,表空间为xm2;
用insert into ...select ...插入books表的记录(表3),
并查询1999年1月1日前(及p1分区)的记录。(10分)
create table rang_book_jiashixin(
bookId char(6) primary key,
bookname varchar2(20),
author varchar2(20),
booktime date
)
partition by range(booktime)
(
partition p1 values less than(to_date('1999-01-01','YYYY-MM-DD'))tablespace jiashixin1,
partition p2 values less than(maxvalue) tablespace jiashixin2
);
10.创建一个视图xm_view,检索books中的bookid,bookname和orders的dgsl,并查询这个视图,显示视图的结果。(10分)
create view jiashixin_view
as
select b.bookid,b.bookname,ord.dgsl
from books b,orders ord
where b.bookid=ord.bookid;
11.用创建游标(xm_yb)的方法实现显示books表中的全部数据。(10分)
set serveroutput on
declare
cursor jiashixin_yb is
select bookId,bookName,author,bookTime
from books
order by bookId;
begin
FOR V_BOOKS IN jiashixin_yb LOOP
DBMS_OUTPUT.PUT_LINE(jiashixin_yb%ROWCOUNT || ':' ||
V_BOOKS.BOOKID || ' ' || V_BOOKS.BOOKNAME|| ' ' ||
V_BOOKS.AUTHOR || ' ' || V_BOOKS.BOOKTIME);
end loop;
if jiashixin_yb%isopen then close jiashixin_yb;
end if;
end;
/
阅读全文
0 0
- oracle 练习
- Oracle 练习
- oracle练习
- oracle 练习
- Oracle 练习
- Oracle练习
- Oracle 练习
- Oracle练习
- oracle练习
- Oracle练习
- Oracle练习
- oracle 练习
- Oracle 练习
- oracle练习
- oracle基础知识,oracle sql练习
- oracle基础知识,oracle sql练习
- oracle查询练习
- oracle 运动会练习
- video
- python学习之第三方包安装方法
- oracle游标
- setImageBitmap 图片太大部分机型不显示
- 勒索病毒-批处理关闭135 137 445等端口
- oracle练习
- GPIO示例
- 解决jQuery和其它库的冲突
- mybatis学习:四
- spring boot 资料整合
- 无法成功完成操作,因为文件包含病毒或潜在垃圾软件.
- 利用TensorFlow实现CNN
- 解决:HTTP 错误 404.2
- eclipse一键导包快捷键