【问题标题】:PHP to list all Packages/Procedures/Functions and also its body of content in a scriptPHP 在脚本中列出所有包/过程/功能及其内容主体
【发布时间】: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?!?

标签: php sql 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>';
    }   
}

【讨论】:

    猜你喜欢
    • 2020-02-14
    • 2017-02-21
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多