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, 如何实现侧滑菜单及其主体部分上下滑动