在plsql中,面向对象的程序设计是基于对象类型来完成的。对象类型是用户自定义的一种复合数据类型,它封装了数据结构和用于操纵这些数据结构的过程和函数,在建立复杂应用程序时,通过使用对象类型可以降低应用开发难度,进而提高应用开发的效率和速度。
对象类型包括对象类型规范(object type specification)和对象类型体(object type body)两个部分。其中对象类型规范是对象与应用的接口,它用于定义对象的公用属性和方法;而对象类型体则用于实现对象类型规范所定义的公用方法,如果对象类型规范中没有定义方法,则可以不定义对象类型体。
对象类型属性用于描述对象所具有的特征,每个对象类型至少包含一个属性,至多可以包含1000个属性。对象类型的属性不能使用long、long raw、rowid、urowid、plsql的特有类型(binary_integer,Boolean,%type,%rowtype,ref cursor,record,pls_integer)等。并且在定义对象类型属性时,既不能指定对象属性的默认值,也不能指定notnull选项。
行对象是指直接基于对象类型所建立的表,列对象是指在建表时指定了对象类型列的对象表。下面给出了操作行对象的代码,列对象操作方式类似。
示例1:行对象数据操作(包含列对象数据的操作类似)
--建立对象类型
create or replace type person_obj as object(
name varchar2(10),
gender number(1),
birthday date);
--建立行对象(基于person_obj)
create table person_table of person_obj;
--为行对象插入数据
insert into person_table values(person_obj('jax01',1,sysdate)); --构造方法
insert into person_table values('jax02',1,sysdate); --普通方法
--检索行对象数据
select * from person_table where name = 'jax01';
--更新行对象数据
update person_table set birthday = to_date('2004-05-12','YYYY-MM-DD')
where gender = 0;
分享到:
相关推荐
Oracle 面向对象编程的基础是它的对象类型,也就是 Type,在 Oracle8i 中,Type 只用作数据类型,而且成员只能是基本数据类型。创建者之外的其他用户需要得到授权才能使用对象类型。 三、 Oracle 面向对象编程的...
本文将详细介绍Oracle数据库的对象管理、数据类型、触发器、索引和分区策略,以及备份与恢复的相关知识。 首先,关于Oracle数据库对象管理,主要包括创建和修改表结构、管理索引、维护表分区、创建和管理视图及序列...
- **Container Managed Persistence (CMP)**: 一种用于自动持久化Java对象的机制,支持将Oracle对象类型映射到CMP字段,简化了数据持久化的复杂性。 #### 七、部署面向对象应用程序 - **Oracle Internet Platform**...
以下是一个简单的示例,演示如何使用ADO.NET在Oracle数据库中读写Blob: ```csharp using Oracle.ManagedDataAccess.Client; public void WriteBlob(string connectionString, string blobColumnName, byte[] data...
Oracle数据库中的大对象数据主要分为两类:字符型LOB(CLOB和NCLOB)与二进制型LOB(BLOB),以及存储在操作系统文件中的BFILE类型。由于BFILE类型数据存储在文件系统,本文关注点在于内部表空间和操作系统目录的...
在Oracle中,用户可以通过CREATE TYPE语句创建自己的数据类型,这可以是基于现有的简单数据类型(如VARCHAR2、NUMBER等)的组合,也可以是对象类型。例如,你可以创建一个包含姓名、年龄和地址的Person类型: ```...
对于关系型数据库,JDBC可以直接处理简单的数据类型,但在Oracle9i中,由于存在对象类型数据,处理方式有所不同。开发者需要编写Java代码封装JDBC和SQL操作,以便处理包含复杂数据类型的记录。这意味着需要创建Java...
在cx_Oracle版本6中,为对象类型提供了更多的支持,并且介绍了对象类型相关的对象、高级队列选项以及消息属性等。 对于希望了解cx_Oracle版本历史的用户,官方文档也提供了详细的发布说明。例如,cx_Oracle 6.0版本...
Oracle复合类型之RECORD是Oracle数据库中的一种复杂数据类型,它允许用户定义一个包含多个字段的记录类型,类似于结构体或对象。 RECORD类型可以用于存储和处理复杂数据,使得数据库开发更加灵活和高效。 在学习...
总结起来,Oracle的数据类型设计允许开发者灵活地存储各种类型的数据,从简单的字符和数字到复杂的二进制对象。理解这些数据类型之间的差异和优缺点是优化数据库设计和提高性能的关键。在实际应用中,应根据数据特性...
这个“oracle简易安装包”旨在提供一个简化版的安装流程,便于用户快速部署并开始使用Oracle数据库。结合PL/SQL Developer工具,用户可以更高效地管理和开发数据库对象,如表、视图、存储过程等。 Oracle数据库安装...
例如,下面是一个简单的对象类型的定义: ```sql CREATE TYPE address_typ AS OBJECT ( street VARCHAR2(30), city VARCHAR2(20), state CHAR(2), postal_code VARCHAR2(6) ); ``` 这定义了一个名为 address_typ...
程序执行功能的简单说明:在客户端的浏览器界面上输入一个客户端的文件名(本文以pdf类型文件为例),将该文件的全部内容做为一个大对象的数据存储在服务器端的Oracle数据库中。任何一个客户端都可以通过浏览器再次...
文章主要关注在VB中使用OO4O技术处理Oracle数据库中的大对象,这是由于随着多媒体技术和计算机科学的发展,数据库中不仅存储简单的数据类型,还涉及到大量的大对象数据,如图像、音频文件和大型文本文件等。Oracle...
### Oracle 数据类型详解 #### 4.1 Oracle 数据类型 ##### 4.1.1 概述 在深入了解Oracle数据库中的各种数据类型...无论是简单的字符数据类型还是复杂的用户自定义类型,Oracle都提供了丰富的选项来满足不同的需求。
Oracle模式对象是数据库管理系统中非常重要的组成部分,它们用于组织和管理数据库中的数据。在这个主题中,我们将深入探讨三种类型的视图、索引和分区表,这些都是Oracle数据库中的关键概念。 首先,我们来看视图。...
在本文中,我们将深入探讨如何使用ADO.NET进行Oracle数据库的简单参数化SQL操作,这对于防止SQL注入攻击、提高代码可读性和复用性至关重要。 首先,要进行Oracle数据库操作,我们需要引入Oracle的数据提供者——...
在VB中利用OO4O技术操作Oracle中大对象,是一种高效的方法,适用于处理存储在Oracle数据库中的大型数据,如图形、声音文件和格式化的文本文件等。这些大对象在Oracle中以两种形式存储:二进制流(如Long Row,BLOB)...
5. LONG: 用于存储长字符串,最大长度可达 2GB,但不支持字符串搜索,已被 BLOB、CLOB 和 NCLOB 等大对象类型逐渐取代。 6. RAW(n) 和 LONG RAW: 二进制数据类型,RAW 用于存储较小的二进制文件,最大长度为 2000 ...
1. **Object Types**:Oracle定义了对象类型,这些类型可以是基本数据类型的组合或嵌套的对象类型,它们可以作为表列的类型或作为PL/SQL变量的类型。 2. **Object Tables**:对象表是由对象类型定义的列组成的表,...