易截截图软件、单文件、免安装、纯绿色、仅160KB

北大青鸟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表中插入大量数据

需要大量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; ......

oracle数字字段判断

select nvl2(replace(translate('69584.00.00','.0123456789','000000000000'),'0',''),'否','是') IsNumber from dual;
select id,nvl2(replace(translate(id,'.0123456789','000000000000'),'0',''),'否','是') IsNumber
from tbl2 ......

Oracle 使用表总结

/*============创建Customer表==========*/   
create table Customer   
(   
  Customer_id number(6) not null,   
  Customer_name varchar2(50) not null,   
  Password varcha ......

oracle中的角色


oracle
中的角色
一、何为角色?
  我在前面的篇幅中说明权限和用户。慢慢的在使用中你会发现一个问题:如果有一组人,
他们的所需的权限是一样的,当对他们的权限进行管理的时候会很不方便。因为你要对这组中的每个用户的权限都进行管理。
  有一个很好的解决办法就
是:角色。角色是一组权限的集合,将角色赋 ......

oracle 锁表处理

--查出所有被锁住的表
select b.owner TABLEOWNER, b.object_name TABLENAME, c.OSUSER LOCKBY, c.USERNAME LOGINID, c.sid SID, c.SERIAL# SERIAL
from v$locked_object a,dba_objects b, v$session c
where b.object_id = a.object_id AND a.SESSION_ID =c.sid;
--通过SID, SERIAL解锁
--alter system kill sessio ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号