我正在寻找一种方法来列出在Informix上运行的数据库中的所有存储过程。
"informix".*
数据库中是否有一个表列出存储过程及其详细信息?
答案 0 :(得分:15)
是的,有。它被称为sysprocedures
。试试这个以查看所有内容:
select * from sysprocedures
有关可用详细信息的详细信息,请参阅sysprocedures和sysprocbody以及sysproccolumns。
答案 1 :(得分:2)
select sysprocedures.procname from sysprocedures;
答案 2 :(得分:1)
从以下查询中获取存储过程的procid
从sysprocedures选择sysprocedures.procname,sysprocedures.procid
并在以下查询中提供procid以查看整个存储过程
选择数据 来自sysprocbody 其中procid = @procid 和datakey =' T' 按顺序排列
答案 3 :(得分:0)
您可以使用dbschema获取存储过程(文本)的内容: dbschema -d -f all 要么 dbschema -d -f
程序的文本也在sysprocbody表中,#34;其中datakey =' T'"
所以: 从sysprocbody中选择数据 其中procid in(从sysprocedures中选择procid在哪里 PROCNAME ='') 和datakey =' T' 按顺序排序; - 请注意,在较旧的Informix中,这会抱怨seqno必须包含在所选列的列表中。