易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle对象类型详解

抽象数据类型
1、创建类型
--地址类型
CREATE OR REPLACE TYPE AddressType AS OBJECT
(
Country varchar2(15),
City varchar2(20),
Street varchar2(30)
);
2、类型嵌套
--创建基于前一个类型的新的抽象数据类型:巨星类型
CREATE OR REPLACE TYPE SuperStarType AS OBJECT
(
StarName varchar2(30),
Address AddressType
);
3、基于抽象类型创建关系表
CREATE TABLE SuperStar
(
StarID varchar(10),
Star SuperStarType
);
4、基于抽象类型创建对象表
CREATE TABLE SuperStarObj of SuperStarType;
5、使用构造方法在表中插入记录
INSERT INTO SuperStar VALUES(''001'',SuperStarType(''Zidane'',AddressType(''France'',''Paris'',''People Street NO.1'')));
6、查询表中记录
(1)SQL> SELECT * from SuperStar;
STARID
----------
STAR(STARNAME, ADDRESS(COUNTRY, CITY, STREET))
--------------------------------------------------------------------------------
001
SUPERSTARTYPE(''Zidane'', ADDRESSTYPE(''France'', ''Paris'', ''People Street NO.1''))
(2)
SELECT s.StarID,s.Star.StarName,s.Star.Address.Country,s.Star.Address.City,s.Star.Address.Street from SuperStar s
STARID STAR.STARNAME STAR.ADDRESS.CO STAR.ADDRESS.CITY STAR.ADDRESS.STREET
---------- ------------------------------ --------------- -------------------- ---------------------
001 Zidane France Paris People Street NO.1
7、抽象数据类型的继承
(1)创建一个类型
CREATE OR REPLACE TYPE PersonType AS OBJECT
(
PersonName varchar(10),
PersonSex varchar(2),
PersonBirth date
) not final;
(2)派生一个类型
CREATE OR REPLACE TYPE StudentType UNDER PersonType
(
StudentNO int,
StudentScore int
);
(3)查看数据字典
SQL> DESC StudentType
StudentType extends SYS.PERSONTYPE
Name
------------------------------------------------------------------------------
PERSONNAME
PERSONSEX
PERSONBIRTH
STUDENTNO
STUDENTSCORE
(4)创建对象表
CREATE TABLE student OF StudentType;
(5)向对象表中插入数据
INSERT INTO student VALUES(''Rose'',''nv'',to_date(''1983-05-02'',''yyyy-mm-dd''),1001,98);
(6) 查询数据
SQL> SELECT * f


相关文档:

关于Oracle中tnsnames.ora的配置


每次通过修改tnsnames.ora配置本地NET服务名都出现错误“ORA-12154:TNS,无法处理服务名”,总得郁闷半天~
这个错误,通常是因为oracle本地NET服务名配置tnsnames.ora文件有严格的格式要求。
例如:
mstrdw =
  (DESCRIPTION =
    (ADDRESS_LIST =
      ......

Oracle版本的区别有那些


Oracle版本的区别有那些
http://database.51cto.com/art/201004/196494.htm
http://database.51cto.com
 2010-04-23 15:20  佚名  互联网  我要评论(
0
)

摘要:
以下的文章主要是对Oracle版本的区别的简述,如果你对其的相关内容感兴趣的
话,以下的文章主要就是对其相关内容的 ......

oracle日期函数集锦

一、 常用日期数据格式
1.Y或YY或YYY 年的最后一位,两位或三位
SQL> Select to_char(sysdate,'Y') from dual;
TO_CHAR(SYSDATE,'Y')
--------------------
7
SQL> Select to_char(sysdate,'YY') from dual;
TO_CHAR(SYSDATE,'YY')
---------------------
07
SQL> Select to_char(sysdate,'YYY') from ......

Oracle中多表查询再按时间倒序

我在工作中在Oracle中多表查询再按时间倒序时,用order by 表名.datatime desc 总是实现不了。
不过最后问杨鹃最后和我说可以把我们查询的总个sql语句做为一个表来排序:
select rownum,aa.* from (....  order by 表名.datatime desc ) aa ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号