`
vbtboy
  • 浏览: 47902 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

oracle数据库对象学习

阅读更多
对象的定义
对象可以嵌套,而且嵌套级数不限。
1. 例程:
-- 创建对象头
CREATE OR REPLACE TYPE test_obj IS OBJECT(
m_Name VARCHAR2(30),
m_id NUMBER,
MEMBER PROCEDURE GetName(p_id IN NUMBER, p_name OUT VARCHAR2),
MEMBER FUNCTION GetName(p_id NUMBER) RETURN VARCHAR2,
MEMBER PROCEDURE SetName(p_id IN NUMBER, p_name IN VARCHAR2)
);
/
-- 创建对象包体
CREATE OR REPLACE TYPE BODY test_obj IS
MEMBER PROCEDURE GetName(p_id IN NUMBER, p_name OUT VARCHAR2) IS
BEGIN
SELECT ename INTO p_name FROM emp WHERE empno = p_id;
END;

MEMBER FUNCTION GetName(p_id IN NUMBER) RETURN VARCHAR2 IS
l_Name VARCHAR2(30);
l_sql VARCHAR2(100);
BEGIN
-- 不能使用 m_Name 来代替 l_name
l_sql := 'SELECT ename FROM emp WHERE empno = :1';
EXECUTE IMMEDIATE l_sql INTO l_Name USING p_id;
RETURN l_Name;
END;
MEMBER PROCEDURE SetName(p_id IN NUMBER, p_name IN VARCHAR2) IS
l_sql VARCHAR2(100);
BEGIN
l_sql := 'UPDATE emp SET ename = :1 WHERE empno = :2';
EXECUTE IMMEDIATE l_sql USING p_name, p_id;
COMMIT;
END;
END;
/
-- 删除对象:
DROP TYPE my_object;
2. 调用上述例程,注意调用方法:
DECLARE
l_name VARCHAR2(30);
mo1 test_obj;
mo2 test_obj;
BEGIN
mo1 := test_obj('test', 10);
mo2 := mo1;
mo1.GetName(7369, l_name);
DBMS_OUTPUT.PUT_LINE(l_name);
l_name := mo2.GetName(7369);
DBMS_OUTPUT.PUT_LINE(l_name);
mo2.SetName(7369, 'yang');
END;
/
3.2 对象的存贮和检索
1. 存贮和检索对象:
Oracle 的对象关系模型允许对象作为数据库表中的一个字段存贮。例如:
CREATE TABLE yang_test(test test_obj);
注意:在定义表之后,若想改变对象test_obj的内容,则必须首先删除表。
要求:如何应用该字段?如何调用此字段中包含的函数和过程?
分享到:
评论

相关推荐

    Oracle数据库学习课件

    Oracle数据库学习课件是一套全面介绍Oracle数据库技术的教育资源,涵盖了从基础知识到高级应用的各个方面。Oracle数据库是全球广泛使用的大型关系型数据库管理系统,尤其在企业级应用中占据主导地位。通过这套课件,...

    Oracle数据库 资料学习

    在Oracle数据库的学习中,你需要掌握以下几个关键知识点: 1. **SQL基础**:Oracle数据库是基于SQL的,因此理解和熟练使用SQL语句是基础,包括SELECT用于查询数据,INSERT用于插入数据,UPDATE用于更新数据,DELETE...

    oracle 数据库的学习资料, sql语句的详细学习资料

    本压缩包提供了丰富的Oracle SQL学习资料,涵盖了SQL的基础到高级用法,以及专门针对Oracle数据库的SQL性能调优。 在“Oracle高性能SQL调整.pdf”这份文档中,你可以深入学习如何优化SQL查询以提升数据库性能。这...

    oracle数据库对象管理笔记.doc

    Oracle数据库对象管理笔记 Oracle 数据库对象管理是 Oracle数据库中的一项重要功能,它允许用户在数据库中创建、管理和维护不同的对象,例如表、索引、存储过程、函数等。本笔记将为您详细讲解 Oracle 数据库对象...

    Oracle数据库体系结构( 中文详细版)

    以上是对Oracle数据库体系结构的基本介绍,深入学习还包括对Oracle的SQL语法、存储过程、触发器、视图、约束、分区表等特性的理解和应用。通过理解这些核心概念,可以更好地管理和优化Oracle数据库,提升系统的稳定...

    Oracle数据库入门学习课件ppt

    这份“Oracle数据库入门学习课件ppt”提供了全面的基础知识,适合初学者系统学习。以下是根据提供的PPT文件名称和描述整理出的核心知识点: 1. **数据库基础知识**: - 数据库的概念:存储和管理数据的系统。 - ...

    oracle数据库管理大家学习一下

    学习Oracle数据库,首先要掌握SQL的基本操作,如数据查询(SELECT)、数据插入(INSERT)、更新(UPDATE)和删除(DELETE)。 3. **PL/SQL编程**:Oracle的PL/SQL是SQL的扩展,它允许开发人员编写存储过程、函数、...

    oracle数据库学习宝典

    本"Oracle数据库学习宝典"旨在帮助你全面掌握Oracle数据库的核心概念和技术,包括视图、存储过程、索引、触发器、同义词以及分区表的使用。 首先,让我们深入了解**视图**。视图是数据库中的虚拟表,它并不实际存储...

    oracle数据库编程pdf文档教案

    这份"Oracle数据库编程pdf文档教案"提供了从基础到高级的Oracle学习路径,通过5天的学习内容,帮助读者深入理解并掌握Oracle数据库的使用。 在Oracle数据库编程中,首先会涉及到SQL(结构化查询语言),这是与...

    Oracle数据库系统应用与开发

    本资源“Oracle数据库系统应用与开发”深入探讨了Oracle数据库的使用和开发技术,特别关注数据库基础,是学习和提升Oracle技能的理想材料。 一、Oracle数据库系统概述 Oracle数据库系统是Oracle公司开发的,它采用...

    Oracle数据库知识点总结 Oracle数据库架构与组件学习攻略

    八、如何学习Oracle数据库 九、资源简介 一、Oracle数据库概述 重点详细内容知识点总结: Oracle数据库是一种关系型数据库管理系统(RDBMS),由甲骨文公司开发,广泛用于企业级应用和大型数据中心。它支持大型数据...

    oracle数据库对象管理学习教案.pptx

    oracle数据库对象管理学习教案.pptx

    oracle数据库学习资料合集

    本合集包含的“Oracle数据库学习资料”涵盖了从基础应用到高级开发,再到性能优化等多个关键领域,是学习和提升Oracle数据库技能的理想资源。 一、Oracle数据库基础 Oracle数据库的基础部分主要涉及数据库的概念、...

    oracle数据库操作手册

    Oracle数据库是全球广泛使用的大型关系型数据库管理...通过深入学习和实践这本《Oracle数据库操作手册》,无论是初级DBA还是经验丰富的开发者,都能提升对Oracle数据库的理解和运用能力,有效应对各种数据库管理挑战。

    Excel通过VBA连接Oracle数据库

    在给定的压缩包文件中,"Excel通过VBA连接Oracle数据库V1.0.xls"可能是一个包含此类功能的示例Excel文件,你可以打开并研究其中的VBA代码,学习如何将上述概念应用到实际项目中。通过深入理解和实践,你将能掌握这个...

    ORACLe数据库讲义.ppt

    在学习资源方面,可以参考俞盘祥的《Oracle数据库系统基础》、沈佩娟和汤荷美的《数据库管理及应用开发》以及孙宏昌和金毳的《Oracle数据库管理员教程》等书籍,这些资料将帮助初学者深入理解Oracle数据库的体系结构...

Global site tag (gtag.js) - Google Analytics