删除 DB2 上的非唯一过程

OVO*_*OVO 0 sql db2 procedure

在我尝试使用该行编辑过程时

CREATE OR DROP PROCEDURE
Run Code Online (Sandbox Code Playgroud)

我创建了两个同名的程序,如何删除它们?

每当我尝试删除它时收到的错误是

对例程 BT_CU_ODOMETER 的引用没有签名,但该例程在其模式中并不唯一。SQL状态=42725

我正在使用 DB2

mus*_*cio 5

假设这是 DB2 for LUW。

DB2 允许您“重载”具有相同名称但参数数量不同的过程。每个过程都有一个特定的名称,该名称可以由您提供或由系统生成,并且是唯一的。

要确定过程的具体名称,请运行

SELECT ROUTINESCHEMA, ROUTINENAME, SPECIFICNAME FROM SYSCAT.ROUTINES
WHERE ROUTINENAME = 'BT_CU_ODOMETER'
Run Code Online (Sandbox Code Playgroud)

然后您可以单独删除每个过程:

DROP SPECIFIC PROCEDURE <specific name>
Run Code Online (Sandbox Code Playgroud)