如何在Informix中列出所有存储过程?

时间:2022-03-22 07:38:00

I'm looking for a way to list all the stored procedures in my database running on Informix.

我正在寻找一种方法来列出在Informix上运行的数据库中的所有存储过程。

Is there a table in the "informix".* database that lists stored procedures along with detail information about them?

“informix”。*数据库中是否有一个表,它列出了存储过程以及有关它们的详细信息?

4 个解决方案

#1


13  

Yes, there is. It's called sysprocedures. Try this to see all there's to see:

就在这里。它叫做sysprocedures。试试这个以查看所有内容:

select * from sysprocedures

For more information on what detailed information is available, read about sysprocedures and sysprocbody and sysproccolumns.

有关可用详细信息的更多信息,请阅读sysprocedures和sysprocbody以及sysproccolumns。

#2


2  

select sysprocedures.procname from sysprocedures;

#3


1  

Get the procid of the stored procedure from the below query

从以下查询中获取存储过程的procid

select sysprocedures.procname,sysprocedures.procid from sysprocedures

从sysprocedures中选择sysprocedures.procname,sysprocedures.procid

and provide the procid in the below query to view the whole stored procedure

并在以下查询中提供procid以查看整个存储过程

select data from sysprocbody where procid = @procid and datakey = 'T' order by seqno

从sysprocbody中选择数据,其中procid = @procid和datakey ='T'顺序由seqno

#4


0  

You can get the contents of the stored procedures (the text) with dbschema: dbschema -d -f all or dbschema -d -f

您可以使用dbschema获取存储过程(文本)的内容:dbschema -d -f all或dbschema -d -f

The text of the procedure is also in the sysprocbody table "where datakey='T'"

该过程的文本也在sysprocbody表中“where datakey ='T'”

so: select data from sysprocbody where procid in (select procid from sysprocedures where procname='') and datakey='T' order by seqno; -- Note that in older Informix, this would complain that seqno had to be included in the list of selected columns.

所以:从sysprocbody中选择数据,其中procid in(选择procid来自sysprocedures,其中procname ='')和datakey ='T'顺序由seqno; - 请注意,在较旧的Informix中,这会抱怨seqno必须包含在所选列的列表中。

#1


13  

Yes, there is. It's called sysprocedures. Try this to see all there's to see:

就在这里。它叫做sysprocedures。试试这个以查看所有内容:

select * from sysprocedures

For more information on what detailed information is available, read about sysprocedures and sysprocbody and sysproccolumns.

有关可用详细信息的更多信息,请阅读sysprocedures和sysprocbody以及sysproccolumns。

#2


2  

select sysprocedures.procname from sysprocedures;

#3


1  

Get the procid of the stored procedure from the below query

从以下查询中获取存储过程的procid

select sysprocedures.procname,sysprocedures.procid from sysprocedures

从sysprocedures中选择sysprocedures.procname,sysprocedures.procid

and provide the procid in the below query to view the whole stored procedure

并在以下查询中提供procid以查看整个存储过程

select data from sysprocbody where procid = @procid and datakey = 'T' order by seqno

从sysprocbody中选择数据,其中procid = @procid和datakey ='T'顺序由seqno

#4


0  

You can get the contents of the stored procedures (the text) with dbschema: dbschema -d -f all or dbschema -d -f

您可以使用dbschema获取存储过程(文本)的内容:dbschema -d -f all或dbschema -d -f

The text of the procedure is also in the sysprocbody table "where datakey='T'"

该过程的文本也在sysprocbody表中“where datakey ='T'”

so: select data from sysprocbody where procid in (select procid from sysprocedures where procname='') and datakey='T' order by seqno; -- Note that in older Informix, this would complain that seqno had to be included in the list of selected columns.

所以:从sysprocbody中选择数据,其中procid in(选择procid来自sysprocedures,其中procname ='')和datakey ='T'顺序由seqno; - 请注意,在较旧的Informix中,这会抱怨seqno必须包含在所选列的列表中。