Oracle 中使用层次查询方便处理财务报表
日期:2007年7月16日 作者: 查看:[大字体 中字体 小字体]-
本文介绍了如何使用Oracle 中的Connect by 子句,并结合一个实例,完成了对一张资产负债表的计算。
Oracle 中Connect By 子句对在关系表上表现层次关系提供了方便。使用Connect by 子句需要在表中定义两个字段,一个是父节点字段,一个是节点字段。其中节点字段一般来说是主键。例如我们作一张资产负债表数据来源:http://www.adbc.com.cn/XXLR1.ASP?ID=5211资 产期末余额负债及所有者权益期末余额流动资产4256.45流动负债7453.74现金2.00短期存款305.54存放中央银行款项160.77财政性存款411.80存放同业款项18.34向中央银行借款6485.05短期贷款4103.41同业存放款项2.15其他流动资产71.93其他流动负债249.20长期资产3287.75长期负债0.07中长期贷款3262.89发行长期债券减:贷款呆账准备73.71其他长期负债0.07固定资产净值77.58其他长期资产20.99无形、递延及其它资产0.52所有者权益190.91其中:实收资本165.15资产总计7644.72负债及所有者权益合计7644.72Create table balance_sheet (BS_ID INTEGER ,BS_PID INTEGER ,BS_NAME VARCHAR2(100) ,BS_VALUE NUMBER(10) );BS_ID 项目代码 BS_PID 项目父代码 BS_Name 项目名称 BS_VALUE 数据列插入测试数据insert into balance_sheet values(1,0,'流动资产',4256.45);insert into balance_sheet values(2,1,'现金',2.00);insert into balance_sheet values(3,1,'存放中央银行款项',160.77);insert into balance_sheet values(4,1,'存放同业款项',18.34);insert into balance_sheet values(5,1,'短期贷款', 4103.41);insert into balance_sheet values(6,1,'其他流动资产',71.93);insert into balance_sheet values(7,0,'长期资产',3287.75);insert into balance_sheet values(8,7,'中长期贷款', 3262.89);insert into balance_sheet values(9,7,'减:贷款呆账准备',73.71);insert into balance_sheet values(10,7,'固定资产净值',77.58);insert into balance_sheet values(11,7,'其他长期资产',20.99);insert into balance_sheet values(12,0,'无形、递延及其它资产',0.52);insert into balance_sheet values(13,0,'资产总计',7644.72);insert into balance_sheet values(14,0,'流动负债',7453.74);insert into balance_sheet values(15,14,'短期存款',305.54);insert into balance_sheet values(16,14,'财政性存款',411.80);insert into balance_sheet values(17,14,'向中央银行借款',6485.05);insert into balance_sheet values(18,14,'同业存放款项',2.15);insert into balance_sheet values(19,14,'其他流动负债',249.20);insert into balance_sheet values(20,0,'长期负债',0.07);insert into balance_sheet values(21,20,'发行长期债券',null);insert into balance_sheet values(22,20,'其他长期负债', 0.07);insert into balance_sheet values(23,0,'所有者权益',190.91);insert into balance_sheet values(24,23,'其中:实收资本',165.15);insert into balance_sheet values(25,0,'负债及所有者权益合计',7644.72);commit;显示全部数据:select bs_name,bs_value from balance_sheetconnect by prior bs_id = bs_pidstart with bs_pid = 0 –可以省略 - [1] [2] [3] [4] [5] 下一页
-
- Oracle 中使用层次查询方便处理财务报表 相关文章:
- ·Oracle 中使用层次查询方便处理财务报表
- Oracle 中使用层次查询方便处理财务报表 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:SQL的数据检索操作简介
精品推荐
热点TOP10
- ·精妙SQL语句收集
- ·SQLPLUS命令的使用大全
- ·收集的host文件网站黑名单
- ·数据库连接字符串大全
- ·SQL Server 练习题
- ·SQL中CASE的用法
- ·认识VF--Visual FoxPro 漫谈
- ·什么是SQL注入法攻击
- ·一道褒贬不一的SQL考试题
- ·学习SQL语句之SQL语句大全
- ·SQL数据库高级教程:SQL UNION 和 UNION ALL
- ·SQL Server不存在或访问被拒绝 问题的解决
- ·SQLSERVER中,数据库同步的实现
- ·MS-SQL开发常用汇总和t-sql技巧集锦
- ·MySQL管理工具SQLyog最新6.1下载
- ·“SQL Server不存在或访问被拒绝”问题的解决
- ·MySQL数据库学习手册之MySQL客户工具和API
- ·学习SQL SERVER的存储过程-之一认识存储过程语法
- ·如何删除数据库中的冗余数据(翻译)
- ·数据库物理设计经验谈
特别推荐
- ·什么是SQL注入法攻击
- ·用SQL语句删除重复记录的四种方法
- ·数据库查询优化
- ·MySQL常见错误问答!
- ·MySQL从后门进企业市场
- ·精妙SQL语句收集
- ·如何在WinNT/2K/XP下启动纯DOS
- ·自己动手做一个SQL解释器
- ·SQL SERVER实用技巧
- ·动态创建MSSQL数据库表存储过程
- ·数据库的分页问题
- ·DM分区软件使用详解
- ·对ADSL接入方式铜缆可用线对率分析
- ·收集的host文件网站黑名单
- ·修复SQL Server 2000数据库之实战经验
- ·实用的存储过程之一
- ·IIS5 ISAPI Extension Back Door
- ·MySQL中文参考手册7(MySQL存取权限系统)grant设置密码password
- ·Sql server 如何得到汉字的声母
- ·数据库物理设计经验谈
