Pet*_*erP 13 stored-procedures informix
我正在使用informix...
我不知道我是怎么做到的,但是我的数据库中有两个同名的过程。当我尝试用
DROP PROCEDURE myProc;
Run Code Online (Sandbox Code Playgroud)
然后我收到一条错误消息
ERROR: Routine (add_adr_trigger_row) ambiguous - more than one
routine resolves to given signature.
Error Code: -9700
Run Code Online (Sandbox Code Playgroud)
我怎样才能放弃这些程序?
MTI*_*hai 14
当您有 2 个或更多具有相同名称但输入参数数量不同的过程时,就会发生这种情况。
例如,您创建了 2 个过程:
CREATE PROCEDURE myProc(param1)
...
CREATE PROCEDURE myProc(param1, param2)
...
Run Code Online (Sandbox Code Playgroud)
要删除第二个,您有两个选择:
最简单的:
DROP PROCEDURE myProc(param1, param2);
Run Code Online (Sandbox Code Playgroud)
难点:
dbaccess DB -
select procname, procid, numargs from sysprocedures where procname like 'myProc';
procname myProc
procid 1
numargs 1
procname myProc
procid 2
**numargs 2**
UPDATE sysprocedures SET procname='myProcOLD' WHERE procid=2;
DROP PROCEDURE myProcOLD;
Run Code Online (Sandbox Code Playgroud)
即使第一种方法非常简单,当我第一次因为同样的问题在半夜接到电话时,我选择了第二种方法。我的错 ...
归档时间: |
|
查看次数: |
6782 次 |
最近记录: |