在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简单对象类型相关推荐

  1. oracle 对象类型是什么意思,Oracle对象类型 (转)

    Oracle对象类型也有属性和方法. 创建对象类型与创建表很相似,只是实际上不为存储的数据分配空间: 不带方法的简单对象类型: CREATE TYPE type_name as OBJECT ( co ...

  2. oracle自定义的记录类型,oracle 自定义类型 type / create type

    一:Oracle中的类型有很多种,主要可以分为以下几类: 1.字符串类型.如:char.nchar.varchar2.nvarchar2. 2.数值类型.如:int.number(p,s).integ ...

  3. 【NUMBER】有关Oracle NUMBER类型定义中precision和scale的测试和总结

    http://space.itpub.net/519536/viewspace-557312 [NUMBER]有关Oracle NUMBER类型定义中precision和scale的测试和总结 上一篇 ...

  4. clob类型用java怎么存,Java 储存和读取 oracle CLOB 类型字段的实用方法

    当前位置:我的异常网» 编程 » Java 储存和读取 oracle CLOB 类型字段的实用方法 Java 储存和读取 oracle CLOB 类型字段的实用方法 www.myexceptions. ...

  5. oracle数据库的浮点数,Oracle Float类型

    本篇文章帮大家学习Oracle Float类型,包含了Oracle Float类型使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 本教程将向您介绍Oracle FLOAT ...

  6. Oracle自定义类型

    Oracle自定义类型可以通过type/create type来声明或者创建 一,四种创建方式 1.1,使用create type创建object类型 create or replace type o ...

  7. oracle触发器记录所有dml,Oracle DML类型触发器

    Oracle DML类型触发器 Oracle DML类型触发器是Oracle开发过程当中最经常用到,也是最常见的触发器,主要是对DML操作,如:insert.delete.update操作事件进行触发 ...

  8. oracle时间类型

    oracle时间类型 date: 最普通的,精确到秒; to_date timestamp:精确到毫秒; to_timestamp timestamp with local timezone:写入的时 ...

  9. oracle有三种类型的异常错误: 预定义 ( Predefined )错误里面的常见错误

    oracle有三种类型的异常错误: 预定义 ( Predefined )错误, 非预定义 ( Predefined )错误, 用户定义(User_define) 错误 预定义 ( Predefined ...

最新文章

  1. Twitter能为你做什么?
  2. 数塔(杭电2084)
  3. python如何运用ols_使用OLS回归(Python,StatsModels,Pandas)预测未来值
  4. CentOS6.4系统启动失败故障排查
  5. 编程科普书籍推荐(Java)
  6. rocketmq怎么保证数据不会重复_RocketMQ 分布式事务消息
  7. 联想智能云教室部署(网络同传)
  8. 高数特殊符号-希腊字母
  9. KITTI Benchmark原理_距离误差百分数
  10. teechart for java_TeeChart java控件
  11. 信息入口的新闻客户端如何盈利?
  12. 仲阳天王星 | 八载同行 启航向星
  13. 【Jenkins教程一】基于Linux的Jenkins安装
  14. python爬虫实操|爬取nba中国官网球员数据
  15. uniapp微信小程序项目-优购商城
  16. 淘宝封杀selenium的ua算法分析
  17. 移动端H5页面生成图片解决方案 1
  18. day09【字节流、字符流】
  19. matlab制作动画并保存,[转载]Matlab中动画的实现、制作和保存(转载Matlab技术论坛)...
  20. 一套完整的SEO建站规则

热门文章

  1. MarckDown学习
  2. (软件工程复习核心重点)第四章总体设计习题
  3. 6-4-1:STL之list——list的快速入门、常用接口
  4. Linux系统编程13:进程入门之Linux中的环境变量的概念及其相关命令(export;env等)main函数的参数
  5. Java十进制转换为二进制的无符号数
  6. KVM 创建虚拟机时,--os-variant参数这样填写
  7. Python global文件的全局变量使用
  8. Android:Android NDK项目中C++文件中打印日志
  9. 【转载】C#中可使用string.Empty代表空字符
  10. windows系统 安装MongoDB