PHP для перечисления всех пакетов / процедур / функций, а также его содержимого в скрипте - PullRequest
0 голосов
/ 10 февраля 2020

Мне нужен быстрый скрипт PHP, чтобы вывести список всех пакетов / процедур / функций, включая его содержимое, чтобы можно было легко найти любую строку кода SQL с помощью сочетаний клавиш CTRL + F.

У меня есть более 100 процедур и функций в БД / схеме, которые трудно найти для конкретной c строки SQL внутри скрипта процедур. Пример, похожий на просмотрщик пакетов для жаб:

Toad

Сценарий php проведет l oop через все пакеты и покажет их сценарии, такие как:

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;

1 Ответ

0 голосов
/ 10 февраля 2020

Ответ основан на приведенном выше @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>';
    }   
}
...