oracle 操作树大全,在Oracle中的树形操作

在Oracle中的树形操作

在Oracle中的树形操作

1.取子节点及路径(正树):

select t.id ,t.code, t.name ,t.pid

,SYS_CONNECT_BY_PATH(t.id,'.')||'.' as IdPath

from tas_catalog t

--where id!=110

start with id=110

connect by  pid = prior id

order siblings  by id

2.取各级父节点(倒树):

select t.id ,t.code, t.name ,t.pid

,SYS_CONNECT_BY_PATH(t.id,'.')||'.' as IdPath --路径从反的

from tas_catalog t

--where id!=110

start with id=110

connect by  id = prior pid

order siblings  by id

无论正树还是倒树, 关键就在于connect by的条件.

正树:   必须是   ‘父’= prior ‘子’

倒树:   必须是   ‘子’= prior ‘父’

相关文档:

关系型数据库理论中字段值必须是单值,而oracle中允许在一个字段中存储一个表的内容。

如:员工表中的外键 部门编号,oracle中这个字段可以存放部门的记录而并不是一个外键,这样查询时候的效率会提高。

可变数组:

创建带有可变数组的表

创建可变数组基类型

create or replace type 基类型名 as object(字段清单); ......

嵌套表:

与可变数组类似,不同之处是嵌套表没有数据上限。

语法:

创建基类型

create or replace type 嵌套表基类型名 as object(字段参数);

create or replace type mingxitype as object(

goodsid varchar(15),

incount int,

providerid varchar(10)

)not final;

创建嵌套表类型

create or replace type � ......

在Oracle中使用自动递增列

Oracle 沒有類似 MS-SQL 可以直接修改欄位屬性,設定成自動編號欄位,所以我們必須透過 Sequence 物件的 nextval 方法,取得其下一個值,然後將此值新增至 TABLE 中,製造出有自動編 ......

测试环境基本信息:

OS:Windows XP sp3

DB:Oracle 9.2.0.1 未启用归档

DB重做日志文件大小:100MB

硬盘型号:SAMSUNG HD161GJ(SATA-300,160G,7200rpm,8M cache)

CPU:Intel Core2 E8400(3.0G)

内存:2G

通过HD Tune得到的硬盘基本测试信息,

IOPS:66

读取:90MB/s

写入:82MB/s

� ......

表类型:

1堆组织表(heap organized table):这些就是“普通”的标准数据库表。数据以堆的方式管理。堆(heap)是一组空间,以一种有些随机的方式使用。

2索引组织表(index organized table):这些表按索引结构存储。这就强制要求行本身有某种物理顺序。索引组织表IOT中,数据要根据主键有序地存储。

3索� ......

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值