代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PLSQL
】
获取某个包依赖的所有对象包括其子对象
作者:
学洋
/ 发布于
2014/10/10
/
724
使用了一个一个临时表 记录了已经遍历的 节点同时 使用了层数来记录已经遍历的 包
declare -- 获取相应的 某个程序包 所需要应用的包 cursor p_cur(p_name varchar2) is select dd.name, dd.type, dd.referenced_name, dd.referenced_type from dba_dependencies dd where 1 = 1 and dd.referenced_type in ('PACKAGE', 'SYNONYM', 'TABLE', 'SEQUENCE') and dd.type in ('PACKAGE', 'PACKAGE BODY') AND dd.name = p_name; cursor p_temp(l_level number) is select attribute1, attribute2 from cux_common_imports_temp where attribute2 = l_level; p_root_name varchar2(30); p_level number := 0; p_count number := 0; begin --将根节点 放入到表中 p_root_name := 'CUX_SBU_COMMON'; insert into cux_common_imports_temp (attribute1, attribute2) values (p_root_name, p_level); p_count := 1; --循环这一层的 节点 并获得其子节点 while p_count != 0 loop for p_loop in p_temp(p_level) loop --下一层 p_level := p_level + 1; p_root_name := p_loop.attribute1; for p_rec in p_cur(p_root_name) loop if p_rec.referenced_type = 'PACKAGE' then --如果表内 没有这个程序就 加入到 临时表中 select count(*) into p_count from cux_common_imports_temp where attribute1 = p_rec.referenced_name; if p_count = 0 then insert into cux_common_imports_temp (attribute1, attribute2) values (p_rec.referenced_name, p_level); end if; --输出相应的 子节点信息 dbms_output.put_line(p_level || '-Name:' || p_rec.referenced_name || '-Type:' || p_rec.referenced_type); end if; end loop; end loop; --获取 该层是否为空 select count(*) into p_count from cux_common_imports_temp where attribute2 = p_level; end loop; end;
试试其它关键字
包
对象
子对象
同语言下
.
查看某张表的表结构
.
oracle 集合操作
.
for 循环中倒序 用reverse
.
Oracle 临时表空间收缩
.
查看session及其对应运行的sql
.
Oracle常用查看表结构命令
.
Oracle Connect By Prior用法(实现递归查询)
.
重置排序 SEQUENCE
.
创建一个trigger
.
批量替换字段中的字符
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
学洋
贡献的其它代码
(
1
)
.
获取某个包依赖的所有对象包括其子对象
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3