【发布时间】:2019-04-09 18:49:38
【问题描述】:
我需要从 PL/SQL 包文件(规范和/或正文)或从 BD 中编译的包中获取包名和 cmets 的第一行。
我知道有一个脚本来获取包名,但它需要从包中获取描述。
例如,如果我需要获取包名,我可以执行这个选择:
select * from all_objects where object_name like 'pack%';
但是如果我需要在查询结果中加上包名,则从 package.json 开始。如果包以:
开头CREATE OR REPLACE PACKAGE BODY pack_test AS
/* **************************************************** */
* Description: maintenance package from suppliers table *
* Author: reymagnus *
* Creation date: 09/04/2019 *
* (another comments) *
* **************************************************** */
我希望得到这个:
Object_Type Object_Name Description
=========== =========== ===========
PACKAGE pack_test maintenance package from suppliers table
或者
Object_Type Object_Name Description_line
=========== =========== ================
PACKAGE pack_test CREATE OR REPLACE PACKAGE BODY pack_test AS
PACKAGE pack_test /* **************************************************** */
PACKAGE pack_test * Description: maintenance package from suppliers table *
也许我需要加入 all_objects 和 all_source 表并且只得到
【问题讨论】:
-
也许你会这样做(看起来是个好主意)。你试过了吗?
-
关于作者和日期,我认为这样的东西不应该出现在包头中。毕竟,一段时间后会有修改,你会有多个作者和多个日期。而是将您的更改存储在版本控制中,因此您对源代码所做的每项更改都有作者+日期+提交消息/更改描述。