Stored-Procedures
如何刪除名稱不明確的程序?
我正在使用informix …
我不知道我是怎麼做到的,但是我的數據庫中有兩個同名的過程。當我嘗試用
DROP PROCEDURE myProc;
然後我收到一條錯誤消息
ERROR: Routine (add_adr_trigger_row) ambiguous - more than one routine resolves to given signature. Error Code: -9700
我怎樣才能放棄程序?
當您有 2 個或多個具有相同名稱但具有不同數量的輸入參數的過程時,就會發生這種情況。
例如,您創建了 2 個過程:
CREATE PROCEDURE myProc(param1) ... CREATE PROCEDURE myProc(param1, param2) ...
要刪除第二個,您有 2 個選項:
最簡單的:
DROP PROCEDURE myProc(param1, param2);
最難的:
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;
即使第一種方法非常簡單,當我第一次在半夜接到同樣的問題時,我選擇了第二種。我的錯 …