create or replace type t_stu as object
(
  u_id integer,
  u_name nvarchar2(20),
  sex nchar(2),
  born_date date,
  member function showinfo(u_i in integer) return nvarchar2
);create or replace type body t_stu as
  member function showinfo(u_i in integer) return nvarchar2 as
  u_n nvarchar2(20);
  begin
    select name into u_n from p_stu where u_id=u_i;--有一张普通表student_info换成这张表也无用
    return u_n;
  end showinfo;
end;
create table p_stu of t_stu;insert into p_stu values(t_stu(1,'ighack','男',to_date('1985-10-22','yyyy-mm-dd')));commit;不知道为什么这个showinfo方法根本无法看到,用不了

解决方案 »

  1.   

    创建一个t_stu类的表然后用showinfo传的一个id显示该表中的一个特定的学员姓名
      

  2.   

    create table p_stu of t_stu;insert into p_stu values(t_stu(1,'ighack','男',to_date('1985-10-22','yyyy-mm-dd')));commit;换成以下方法:
    CREATE TABLE p_stu 

     stud stu
    )insert into p_stu values(stu(2,'ighack','男',to_date('1985-10-22','yyyy-mm-dd')));SELECT p.STUD.showinfo(2) FROM p_stu p;
      

  3.   

    没有调用showinfo这个方法怎么能见到效果呢?而且create table那个方法我也没有见过,只是个人意见哦,请别砸我!