创建带有函数的对象类型+创建对象类型头/规范+对象体的创建+带有函数的对象类型的使用
2017-06-02 15:49
471 查看
创建带有函数的对象类型
创建对象类型头/规范
语法
create 【or replace】 type type_name as object (
column1 datatype[,column2 datatype,…]
member function method_name(args_list) return return_type;
)
type_name是对象类型的名称
column1是属性名称,
datatype是属性数据类型
member function:表示定义一个函数,也可是使用member procedure,表示定义的是一个存储过程,没有返回值.
注意:
method_name:函数名称
args_list:函数的参数列表
return_type:函数的返回值类型
1如果定义对象类型头时没有定义方法,则不需要建立对象类型体。
2定义对象类型最少要包含一个属性,最多包含1000个属性。
3定义时必须提供属性名和数据类型,但不能指定默认值和not null。
4属性类型不能是以下这些类型。
long ,long raw,nchar,nclob,nvarchar2,rowid,urowid,以及%type和%rowtype
举例
对象体的创建
create or replace type body type_name as
member function method_name return return_type{as | is}
variable declareations….;
begin
…
return value;
end;
end;
注意
type_name和method_name要与对象类型中的type_name和method_name一一对应
variable declareations:说明变量,并指明变量的数据类型
举例
带有函数的对象类型的使用
创建对象类型头/规范
语法
create 【or replace】 type type_name as object (
column1 datatype[,column2 datatype,…]
member function method_name(args_list) return return_type;
)
type_name是对象类型的名称
column1是属性名称,
datatype是属性数据类型
member function:表示定义一个函数,也可是使用member procedure,表示定义的是一个存储过程,没有返回值.
注意:
method_name:函数名称
args_list:函数的参数列表
return_type:函数的返回值类型
1如果定义对象类型头时没有定义方法,则不需要建立对象类型体。
2定义对象类型最少要包含一个属性,最多包含1000个属性。
3定义时必须提供属性名和数据类型,但不能指定默认值和not null。
4属性类型不能是以下这些类型。
long ,long raw,nchar,nclob,nvarchar2,rowid,urowid,以及%type和%rowtype
举例
create or replace type class3 as object ( id number, name varchar2 ( 20 ), member function get_name(no varchar2) return varchar2 ) ;
对象体的创建
create or replace type body type_name as
member function method_name return return_type{as | is}
variable declareations….;
begin
…
return value;
end;
end;
注意
type_name和method_name要与对象类型中的type_name和method_name一一对应
variable declareations:说明变量,并指明变量的数据类型
举例
create or replace type body class3 as member function get_name(no varchar2) return varchar2 as name varchar2(20); begin select sname into name from zhou.student where sno=no ; return name; end; end;
带有函数的对象类型的使用
create table class_table2 ( id number, deptno varchar2 ( 20 ), class3 class3--使用对象类型class3作为表class_table2的属性 ) ; insert into class_table2 values(1,'1',class3(10,'丽丽')); select st.id,st.class3.name,st.class3.get_name('s001') from class_table2 st
相关文章推荐
- 创建健壮的isArray()函数(JavaScript中判断对象类型的种种方法)
- javascript 中的 prototype和constructor属性的使用(constructor属性始终指向创建当前对象的构造函数,每个函数都有一个默认的属性prototype,而这个prototype的constructor默认指向这个函数)
- JAVA入门.零基础学Java语言 MOOC 第6周 使用对象(基本数据类型的包裹类型对象) 第7周 函数
- 使用对象类型+在存储过程使用+在函数中使用
- 使用对象模型来创建内容类型
- sql语法复习:增删查改,各种数据库对象创建和函数使用
- 源码-JavaScript&jQuery交互式前端开发-第3章-函数、方法与对象-使用字面量语法创建对象
- JAVASCRIPT随记-使用偏函数判断对象类型
- 列对象+创建对象类型+使用对象类型定义表中的列/DML操作
- javascript 直接创建对象与间接创建对象 私有函数不能访问this变量 是否使用var声明变量几个问题探讨
- 使用函数创建JavaScript的类和对象
- SP2010开发和VS2010专家"食谱"--第四章节—列表定义和内容类型(3)--使用对象模型创建自定义内容类型
- 源码-JavaScript&jQuery交互式前端开发-第3章-函数、方法与对象-使用构造函数语法创建对象
- 献给和我合作的过得前端童靴们:jquery源码分析--核心函数(使用函数作为参数创建jQuery对象)
- 1.在使用new创建数组后,此时数组还是一个引用数组。 只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束2.什么是引用类型?
- NumPy中的乘法运算符 * 指示按元素计算,矩阵乘法可以使用 dot 函数或创建矩阵对象实现
- 使用python libvirt 接口函数创建 dir 类型存储池、存储卷及删除 存储卷、存储池
- 前端进阶者(流水记)----创建和使用对象(用作对象的函数称为方法)
- js使用函数创建对象的方式
- sql server 创建table表 及添加各种约束 查看约束 删除约束 新增表的字段 规则及规则使用方法及应用到表中 时间函数的类型