`
yuxuan1215
  • 浏览: 14160 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对象数据库的增删改查

 
阅读更多


步骤一:打开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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics