oracle数据库如何创建对象类型和对象类型表

oracle数据库如何创建对象类型和对象类型表

ID:34725118

大小:89.47 KB

页数:3页

时间:2019-03-10

oracle数据库如何创建对象类型和对象类型表_第1页
oracle数据库如何创建对象类型和对象类型表_第2页
oracle数据库如何创建对象类型和对象类型表_第3页
资源描述:

《oracle数据库如何创建对象类型和对象类型表》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、不带方法的简单对象类型:1.CREATE TYPE type_name as OBJECT ( 2. 3.column_1 type1, 4. 5.column_2 type2, ); 注意:ASOBJECT创建好对象类型之后,就可以在创建表的时候,使用该类型了,如:1.CREATE TYPE HUMAN AS OBJECT( 2. 3.NAME VARCHAR2(20), 4. 5.SEX VARCHAR2(1),-- F : FEMALE M:MALE  6. 7.BIRTHDAY DATE, 8

2、. 9.NOTE VARCHAR2(300) 10. 11.) 稍后,可以用下面的语句查看:1.SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE = 'TYPE' CREATE TABLE STUDENTS( 2. 3.GUID NUMBER NOT NULL, 4. 5.STUDENTS HUMAN 6. 7.) 此下省去两个Trigger.插入数据的时候,可以如下:1.INSERT INTO STUDENTS (STUDENT) VALUES (HUMAN(

3、'xling','M',TO_DATE('20060101','YYYYMMDD'),'测试')) 注意:HUMAN('xling','M',TO_DATE('20060101','YYYYMMDD'),'测试'),这是个默认的构造函数.如果想选出性别为女(F)的记录,可以如下:1.SELECT * FROM STUDENTS S WHERE S.STUDENT.SEX = 'F' 注意:不能写成:SELECT*FROMSTUDENTSWHERESTUDENT.SEX='F'这样会报如下错误:ORA-

4、00904:"STUDENT"."SEX":标识符无效对象类型表:每条记录都是对象的表,称为对象类型表.它有两个使用方法:1,用作只有一个对象类型字段的表.2,用作具有对象类型字段的标准关系表.语法如下:CREATETABLEtable_nameOFobject_type;例如:CREATETABLETMP_STUDENTSOFHUMAN;用DESCTMP_STUDENTS,可以看到它的字段结构和HUMAN的结构一样.对象类型表有两个优点:1,从某种程度上简化了对象的使用,因为对象表的字段类型与对象类

5、型是一致的,所以,不需要用对象名来修饰对象属性,可以把数据插入对象类型表,就像插入普通的关系表中一样:1.INSERT INTO TMP_STUDENTS VALUES ('xling','M',TO_DATE('20060601','YYYYMMDD'),'对象类型表');  2. 3.INSERT INTO TMP_STUDENTS VALUES (HUMAN('snow','F',TO_DATE('20060102','YYYYMMDD'),'用类型的构造函数')); 第二个特点是:对象表是使用

6、对象类型作为模板来创建表的一种便捷方式,它可以确保多个表具有相同的结构.对象类型表在:USER_TABLES表里是查不到的,而在USER_OBJECTS表里可以查到,而且OBJECT_TYPE='TABLE'类型在定义的时候,会自动包含一个方法,即默认的构造器.构造器的名称与对象的名称相同,它带有变量与对象类型的每个属性相对应.对象类型的方法:1.CREATE TYPE type_name AS OBJECT ( 2. 3.column1 column_type1, 4. 5.column2 colu

7、mn_type2, 6. 7.... , 8. 9.MEMBER FUNCTION method_name(args_list) RETURN return_type, ) 注意:是MEMBERFUNCTION,(当然,也可是MEMBERPROCEDURE,没有返回值)和包(PACKAGE)一样,如果对象类型有方法的话,还要声明一个BODY:1.CREATE TYPE BODY type_name AS MEMBER FUNCTION method_name RETURN return_type {A

8、S 

9、 IS} 2. 3.variable declareations.. 4. 5.BEGIN 6. 7.CODE.. 8. 1.RETURN return_value; 2. 3.END;//END MEMBER FUNCTION END;//END TYPE BODY 如下所示:1.CREATE TYPE HUMAN AS OBJECT( 2. 3.NAME VARCHAR2(20), 4. 5.SEX VARCHAR2(1),-- F : FEM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。