PHP 在脚本中列出所有包/过程/功能及其内容主体

Posted

技术标签:

【中文标题】PHP 在脚本中列出所有包/过程/功能及其内容主体【英文标题】:PHP to list all Packages/Procedures/Functions and also its body of content in a script 【发布时间】:2020-02-10 09:39:38 【问题描述】:

我需要一个快速的 php 脚本来列出所有包/过程/函数,包括其内容主体,以便使用 CTRL+F 轻松找到任何 SQL 代码行。

我在 db/schema 中有 100 多个过程和函数,对于过程脚本中的特定 SQL 行很难找到。像蟾蜍包查看器这样的例子:

php 脚本将遍历所有包并显示它们的脚本,例如:

SET CURRENT SCHEMA = JCONVEY;

SET CURRENT PATH = SYSIBM,SYSFUN,SYSPROC,SYSIBMADM,DB2INST1;

CREATE OR REPLACE PROCEDURE JCONVEY.ENDSTAGE_SENDMAIL (
    BAID IN VARCHAR(4000) DEFAULT 'BPP',
    EMAILTITLE IN   VARCHAR(4000),
    SQLMSG IN   VARCHAR(4000),
    RECEMAIL IN VARCHAR(4000),
    CASEID IN   VARCHAR(4000),
    UNIQUEID IN VARCHAR(4000) DEFAULT '',
    CC_TO IN    VARCHAR(4000) DEFAULT '',
    HISTTYPE IN DECFLOAT(16) DEFAULT 99,
    USRID IN    VARCHAR(4000) DEFAULT '*SYSTEM',
    ATT_ID IN   VARCHAR(4000) DEFAULT '0',
    MAQ_TYP IN  VARCHAR(12) DEFAULT NULL )
IS
subject VARCHAR2(200);
msg  CLOB;

【问题讨论】:

select *from all_source 你需要什么? 你尝试了吗? @hotfix 就是这样!谢谢,但是显示所有内容的 php 代码将使 ctrl+f 更容易,稍后将为此编写一个 php... plsql 和 db2?!? 【参考方案1】:

根据上面@hotfix的答案,php脚本可以这样使用:

<?php
$conn = db2_connect('DB', 'db2inst1','password' );
db2_exec($conn, 'set schema jconvey');

$stmt = db2_prepare($conn,'
    select text from all_source where text is not null
    ');
$result = db2_execute($stmt);

if($result)

    while ($row = db2_fetch_assoc($stmt)) 
        echo '-------------------------------------------------------<br><br><br>';
        echo $row['TEXT'].'<br><br><br>';
       

【讨论】:

以上是关于PHP 在脚本中列出所有包/过程/功能及其内容主体的主要内容,如果未能解决你的问题,请参考以下文章

为每个对象的行为创建脚本,而不是在对象脚本主体中编写所有内容

利用 MUI开发app, 如何实现侧滑菜单及其主体部分上下滑动

Mac - 列出目录及其子目录中的所有图像路径(名称)

Microsoft Access如何计算一个值及其在字段中列出的所有排列的次数?

Binance API 列出来自公共端点的所有符号及其名称

在 Google Apps 脚本中使用完整的 Google Maps V3 API 及其所有功能