北大青鸟oracle学习笔记32
成员函数和过程
构造函数方法
-oracle的每个对象均有一个内置的构造函数方法
-用于创建对象的一个实例
-无需显式地定义
-与对象类型同名
定义对象类型
create or replace
type persontype as object
(
id int,
name varchar(20),
member function getId return int,
member procedure setId(pid int),
member function getName return varchar,
member procedure setName(pname varchar)
)not final
实现对象成员方法
create or replace type body persontype as
function getId return int as
begin
return id;
end getId;
procedure setId(pid int) as
begin
id := pid;
end setId;
function getName return varchar as
begin
return name;
end getName;
procedure setName(pname varchar) as
begin
name := pname;
end setName
测试对象
declare
p personType;
begin
p:=personType(1,'pf');
--直接访问对象成员变量
dbms_output.put_line(p.id||'|'||p.name);
--使用方法访问成员变量 推荐
dbms_output.put_line(p.getId()||'|'||p.getName());
--使用set方法更改对象成员变量值
p.setId(2);
p.setName('lmj');
dbms_output.put_line(p.getId()||'|'||p.getName());
end;
输出:
1|pf
1|pf
2|lmj
很尴尬的发现最后一部视频的后半部分和前半部分是一样的。。。囧。。。嵌套表没有讲。。。
网上搜了一下嵌套表的资料,如下:
一、嵌套表的定义:
嵌套表是表中之表。一个嵌套表是某些行的集合,它在主表中表示为其中的一列。对主表中的每一条记录,嵌套表可以包含多个行。在某种意义上,它是在一个表中存储一对多关系的一种方法。考查一个包含部门信息的表,在任何时间内每个部门会有很多项目正在实施。在一个严格的关系模型中,将需要建立两个独立的表depa
相关文档:
需要大量oracle测试数据时,可以使用以下方法。
DECLARE
i INT;
BEGIN
i := 0;
WHILE(i < 100000)
LOOP
i := i + 1;
INSERT INTO TEST_TABLE(ID, XM) VALUES(i, '姓名' || i);
END LOOP;
COMMIT;
END; ......
一 数据库的事务处理
定义:事务是一组相关的数据改变的逻辑集合。在一个事务中的数据改变(DML)保持着一致的状态,数据的改变同时成功或者同时失败。
二 数据库的事务由下列语句组成
一组DML语句,修改的数据在他们中保持一致
一个 DDL (Data Define Language) 语句
一个 DCL (Data Control Language)语句
1、开 ......
oracle内置程序包
STANDARD和DBMS_STANDARD 定义和扩展PL/SQL语言环境
DBMS_ALERT 支持数据库事件的异步通知
DBMS_APPLICATION_INFO 允许为跟踪目的而注册应用程序
DBMS_AQ&DBMS_AQADM 管理oracle advanced queuing选件
DBMS_DEFER、DBMS_DEFER_SYS和DBMS_DEFER_QUERY 允许构建和管理延迟的远程过程调用
DBMS_DDL ......
DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能。DECODE有什么用途 呢? 先构造一个例子,假设我们想给智星职员加工资,其标准是:工资在8000元以下的将加20%;工资在8000元以上的加15%,通常的做法是,先选出记录 中的工资字段值? select ......
pl/sql 表
在pl/sql块中临时使用、像数组一样的对象
包含一列和一个主键
不能对列和主键进行命名
列可以是任何标量数据类型
主键必须是binary_integer类型
大小没有限制
声明pl/sql表
定义表的类型
type 类型名 is table of 列类型|变量数据类型 ......