IBM Support

How to delete an overloaded procedure when you cannot drop through normal methods

Troubleshooting


Problem

In certain scenarios Informix will allow the creation of multiple overloaded procedures with the same signature to be created.

Once this happens, it becomes impossible to drop the procedure through normal means.

Symptom

Attempting to run or drop a procedure in this unlikely scenario will result in the following error:

-674    Routine <routine-name> cannot be resolved.

Resolving The Problem

As a work-around you can remove a procedure using its procID by running the following statements and including the appropriate procID:

delete from sysprocedures where procid = <procID>;

delete from sysprocauth where procid = <procID>;

delete from sysproccolumns where procid = <procID>;

delete from sysprocplan where procid = <procID>;

delete from sysprocbody where procid = <procID>;

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSB2ML","label":"Informix Dynamic Server"},"Component":"","Platform":[{"code":"PF002","label":"AIX"},{"code":"PF010","label":"HP-UX"},{"code":"PF016","label":"Linux"},{"code":"PF027","label":"Solaris"}],"Version":"12.10","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

More support for:
Informix Dynamic Server

Software version:
12.10

Operating system(s):
AIX, HP-UX, Linux, Solaris

Document number:
734207

Modified date:
01 June 2022

UID

ibm10734207