1.对象类型
CREATE OR REPLACE TYPE Student AS OBJECT (
ID NUMBER(5),
first_name VARCHAR2(20),
last_name VARCHAR2(20),
major VARCHAR2(30),
current_credits NUMBER(3),
-- Returns the first and last names, separated by a space.
MEMBER FUNCTION FormattedName
RETURN VARCHAR2,PRAGMA RESTRICT_REFERENCES(FormattedName, RNDS, WNDS, RNPS, WNPS),
-- Updates the major to the specified value in p_NewMajor.
MEMBER PROCEDURE ChangeMajor(p_NewMajor IN VARCHAR2),PRAGMA RESTRICT_REFERENCES(ChangeMajor, RNDS, WNDS, RNPS, WNPS),
-- Updates the current_credits by adding the number of
-- credits in p_CompletedClass to the current value.
MEMBER PROCEDURE UpdateCredits(p_CompletedClass IN Class),PRAGMA RESTRICT_REFERENCES(UpdateCredits, RNDS, WNDS, RNPS, WNPS),
-- ORDER function used to sort students.ORDER
MEMBER FUNCTION CompareStudent(p_Student IN Student) RETURN NUMBER
);
CREATE OR REPLACE TYPE BODY Student AS
MEMBER FUNCTION FormattedName RETURN VARCHAR2 IS
BEGIN
RETURN first_name || ' ' || last_name;
END FormattedName;
MEMBER PROCEDURE ChangeMajor(p_NewMajor IN VARCHAR2) IS
BEGIN
major := p_NewMajor;
END ChangeMajor;
MEMBER PROCEDURE UpdateCredits(p_CompletedClass IN Class) IS
BEGIN
current_credits := current_credits + p_CompletedClass.num_credits;
END UpdateCredits;
ORDER MEMBER FUNCTION CompareStudent(p_Student IN Student) RETURN NUMBER IS
BEGIN
-- First compare by last names
IF p_Student.last_name = SELF.last_name THEN
-- If the last names are the same, then compare first name
IF p_Student.first_name < SELF.first_name THEN
RETURN 1;
ELSIF p_Student.first_name > SELF.first_name THEN
RETURN -1;
ELSE
RETURN 0;
END IF;
ELSE
IF p_Student.last_name < SELF.last_name THEN
RETURN 1;
ELSE
RETURN -1;
END IF;
END IF;
END CompareStudent;
END;
2.集合
DECLARE
TYPE t_IndexBy IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE t_Nested IS TABLE OF NUMBER;
TYPE t_Varray IS VARRAY(10) OF NUMBER;
v_IndexBy t_IndexBy;
v_Nested t_Nested;
v_Varray t_Varray;
BEGIN
v_IndexBy(1) := 1;
v_IndexBy(2) := 2;
v_Nested := t_Nested(1, 2, 3, 4, 5);
v_Varray := t_Varray(1, 2);
END;
分享到:
相关推荐
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...
PL/SQL本身涉及的知识点浩瀚、庞杂...当然,最为重要的还是内容本身,本书首先对PL/SQL的理论基础进行了全面的介绍,其次详细讲解PL/SQL开发的所有功能模块、方法和技巧,最后对它的各种高级特性也进行了深入探讨。
《Oracle PL/SQL程序设计(第5版)》基于Oracle数据库11g,从PL/SQL编程、PL/SQL程序结构、PL/SQL程序数据、PL/SQL中的SQL、PL/SQL应用构建、高级PL/SQL主题这6个方面详细系统地讨论了PL/SQL以及如何有效地使用它。...
而且还提供了相应的习题和答案,对于PL/SQL开发人员,可能已经非常熟悉PL/SQL的基本开发方法,但可能对PL/SQL高级内容(集合类型,对象类型,LOB对象处理)和oracle9i/oracle10g的PL/SQL新特性知之较少,本书对于这些高级...
Oracle 8i PL SQL高级程序设计(PDF) 本书是深入介绍PL/SQL 语言的专著。可供数据库系统管理员和应用系统设计师参考。众所周知,PL/SQL是用来从各种平台访问Oracle数据库的高级程序设计语言。本书原版自出版以来,...
这些新的特性包括如何使用内置包,优化策略,以及PL/SQL程序的调试技术等。本书从以下几个方面深入介绍了Oracle8i程序设计的最新特点: 1) Oracle8i和PL/SQL提供的高效开发和运行环境。 2) 使用包DBMS_DEBUG和 ...
众所周知,PL/SQL是用来从各种平台访问Oracle数据库的高级程序设计语言。本书原版自出版以来,深受专业人员欢迎,仅在美国市场的销售量就多达46 000多本。本书不仅为开发健壮的、基于Web的应用提供了深入的信息,...
众所周知,PL/SQL是用来从各种平台访问Oracle数据库的高级程序设计语言。本书原版自出版以来,深受专业人员欢迎,仅在美国市场的销售量就多达46 000多本。本书不仅为开发健壮的、基于Web的应用提供了深入的信息,...
本文只介绍3种PL/SQL异常的三种高级形态,用于解决Oracle内置异常过少,很多时候不能够满足实际的使用需求。对oracle 高级特性相关知识感兴趣的朋友一起看看吧
与市面上许多pl/sql图书只是纸上谈兵、局限于语法和功能本身不同,本书从实战出发,讲述如何正确、充分地运用语言特性,除了pl/sql的基本功能之外,也包括数据的高效处理、安全、触发器、高效的调试技术等。...
众所周知,PL/SQL是用来从各种平台访问Oracle数据库的高级程序设计语言。本书原版自出版以来,深受专业人员欢迎,仅在美国市场的销售量就多达46 000多本。本书不仅为开发健壮的、基于Web的应用提供了深入的信息,...
众所周知,PL/SQL是用来从各种平台访问Oracle数据库的高级程序设计语言。本书原版自出版以来,深受专业人员欢迎,仅在美国市场的销售量就多达46 000多本。本书不仅为开发健壮的、基于Web的应用提供了深入的信息,...
本书作者从PL/SQL入手,根据其特性,将其全书组织为4大部分共12章。第一部分(1-3章)从宏观的角度综合概述了系统调优涉及的关键领域,并结合Web应用系统的9大步骤探讨了性能调优问题的定位和根源。第二部分(4-6章)...
在普通的情况下,用户可以通过SQL和PL/SQL来访问数据库中的数据。ORACLE数据库除了提供SQL和PL/SQL来访问数据库外,还提供了一个第三代程序设计语言的接口,用户可以通过C、COBOL、FORTRAN等第三代语言来编程访问...
第6章 JDBC的高级特性 6.1 PreparedStatement预编译对象 6.2 CallableStatement存储过程对象 6.3 BatchedUpdate对象 6.4 Rowset行集合对象 6.5 JDBC的事务 6.6 本章小结 第7章 JDBC结合Servlet与JSP ...
还深入介绍了SQL和PL/SQL。为了易于学习,这本独特的Oracle Press指南是这样组织的: 核心概念——Oracle Database 11g主题呈现在按逻辑组织的章节中 主要内容——每章要介绍的具体内容列表 实践练习——演示如何...
13.1.5 使用10046 trace跟踪PL/SQL 368 13.2 PL/SQL优化其他相关扩展 369 13.2.1 编译无法成功 369 13.2.2 通用脚本分享 370 13.3 本章习题、总结与延伸 380 第14章 动手,高级写法应用让SQL飞 381 14.1 具体...