oracle8i的自定义类型、面向对象怎么使?谢谢指点!

Dickensi 2001-12-20 07:28:30
比如建立学生object 如下:
create type obj_student as( name varchar2(15),
age number(3),
spec varchar(25));
建立班级object 如下:
create type obj_class as varray(50) obj_student;

创建一个表如下:
create table school_classes( classname varchar2(20),
member obj_class,
monitor obj_student);
请问如何向school_classes中填入纪录,并如何读出该表中的数据!
我用vc+ado写程序的,有没有人试过在程序中如何向过程传送象上例
school_classes、obj_student 这样的参数的?
...全文
77 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
skt985 2002-01-11
  • 打赏
  • 举报
回复
36033关注! :)
tengy1 2001-12-23
  • 打赏
  • 举报
回复
推你一把!
Dickensi 2001-12-22
  • 打赏
  • 举报
回复
大家一起分享:

回复人: IronPromises(铁诺) (2001-11-27 15:48:11) 得30分
请运行如下的脚本,或许你会明白一点.

create or replace type userinfo as object -- 创建一个对象userinfo,里面包含一个procedure和一个function
(
name varchar2(16),
sex varchar2(6),
birthday varchar2(10),
telephone varchar2(20),
member procedure ChangeUserInfo
(
v_name in varchar2,v_sex in varchar2,v_birthday in varchar2,v_telephone in varchar2
),
member function getUserName return varchar2
);
/

create or replace type body userinfo as -- 对象userinfo体
member procedure ChangeUserInfo
(
v_name in varchar2,v_sex in varchar2,v_birthday in varchar2,v_telephone in varchar2
) is
begin
if (v_name is null) or (v_sex is null) or (v_birthday is null) or (v_telephone is null) then
raise_application_error(-20001,'The new UserInfo is invalid.');
else
name := v_name;
sex := v_sex;
birthday := v_birthday;
telephone := v_telephone;
end if;
end;

member function getUserName return varchar2 is
begin
return name;
end;

end;
/

create table tbl_userinfo -- 创建一个table,其中字段user_info的类型为userinfo
(
user_id int,
user_info userinfo,
constraint pk_tbl_userinfo primary key(user_id)
);
/

insert into tbl_userinfo -- 插入数据
(user_id,user_info)
values
(1,userinfo('IronPromises','male','1979/02/06','1234567'));
commit;
/
select user_id,user_info from tbl_userinfo;
/

update tbl_userinfo a -- 修改数据
set a.user_info = userinfo(a.user_info.name,a.user_info.sex,a.user_info.birthday,'7654321')
where user_id = 1;
commit;
/
select user_id,user_info from tbl_userinfo;

Dickensi 2001-12-22
  • 打赏
  • 举报
回复
可是我要他在表中体现出来!
zhuzhichao 2001-12-21
  • 打赏
  • 举报
回复
http://www.csdn.net/Expert/topic/390/390952.shtm

這是精華區的帖子.

大家要多看看精華區,裡面有很多知識.
Dickensi 2001-12-21
  • 打赏
  • 举报
回复
多谢了!
Dickensi 2001-12-20
  • 打赏
  • 举报
回复
嘿!
还没人帮忙?

2,596

社区成员

发帖
与我相关
我的任务
社区描述
Sybase相关技术讨论区
社区管理员
  • Sybase社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧