对象数据库的增删改查


步骤一:打开SQLPLUS, 输入用户名与密码(本例以Scott 用户登录)

登录后显示的界面如下:

图 1-1

步骤二:创建元组类型TDate,在SQLPLUS中输入

create typeTDate as object(day integer, month char(3), year  integer);

换行输入“/”。创建成功:

图 1-2

步骤三:创建Tcg类型

输入:

create type TCgas object(Course varchar2(5),  Gradeinteger, Cdate TDate);

创建成功,SQLPLUS界面显示如下:

图 1-3

步骤四:创建嵌套表类型 TCgs

在SQLPLUS中输入:create type TCgsas table of TCg

创建成功后:

图 1-4

步骤五:创建最外层表SC

在SQLPLUS中输入:

create tableSC(Sname varchar2(10),Cg      TCgs)

nested table Cgstore as Cg_tab

SQLPLUS 界面如下:

 

图 1-5

步骤六:插入数据

在SQLPLUS 中输入:

insert into SC

values('picart',TCgs(TCg('DB',80,TDate(1,'Oct',2009)),

                                  TCg('OS',80,TDate(1, 'Nov',2009))));

 

insert into SC

values('kirk',TCgs(TCg('DB',85,TDate(1,'Jul',2009)),

                              TCg('MATHS',80,TDate(1,'Oct',2009))))

 

 

 

如下图所示:

图 1-6

步骤七: 查询数据

1)为了验证数据是否插入表中,可输入“select * from sc” 进行查询,如图所示:

图 1-7

 

2)查询每个同学选课的门数

在SQLPLUS 中输入:

select sname,(select count(*) from table (x.Cg))

 from SC x

结果如图:

图 1-8

3)查询”kirk” 选择课程的详细信息

在SQLPLUS 中输入:

select * from(select  cg from sc where sname=’kirk’);

结果下:

图 1-9

4)查询”kirk” 选择的课程名

在SQLPLUS 中输入:

select x.coursefrom  table(select  cg from sc where sname=’kirk’) x;

结果如下:

图 2-1

步骤 八:修改数据

1)修改”kirk”的选课信息,将“DB”课程修改为“orcl”

在SQLPLUS 中输入:

Update table(select cg from sc where sname=’kirk’) x set x.course=’orcl’where x.course=’DB’;

然后输入:select x.course from table(select cg from sc where sname=’kirk’) x 查询修改的结果

结果如下:

图 2-2

2)修改”kirk”的选课时间,将其选择课程‘orcl’的选课时间改为“21,Oct,2011”

在SQLPLUS 中输入:

Update table(select cg from sc where sname=’kirl’) set cdate=tdate(21,’Oct’,2011)where course=’orcl’;

然后输入:select * from table(select cg from sc where sname=’kirk’) where course=’orcl’

结果如图:

图 2-3

3)修改修改”kirk”的选课时间,将其选择课程‘orcl’的选课时间的年份改为2010年

在SQLPLUS 中输入:

updatetable(select cg from sc where sname=’kirk’) x set x.cdate.year=2010 wherex.course=’orcl’;

然后输入:select * fromtable(select cg from sc where sname=’kirk’) where course=’orcl’

结果如图:

 

图 2-4

步骤九:删除SC表中的数据

1)删除‘kirk‘所选的课程’orcl‘的信息

在SQLPLUS 中输入:

delete fromtable(select cg from sc where sname=’kirk’) where x.course=’orcl’;

然后输入:select * fromtable(select cg from sc where sname=’kirk’)查询

结果如图:

图 2-5

2)删除‘kirk‘的选课信息

在SQLPLUS 中输入:

delete from sc where sname=’kirk’

然后输入:select * from sc查询

 

图 2-6

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值