如何避免在PLSQ中使用未使用的参数发出警告?

时间:2020-03-05 18:59:12  来源:igfitidea点击:

有时,在PL SQL中,我们想要向程序包,函数或者过程中添加参数,以准备将来的功能。例如:

create or replace function doGetMyAccountMoney( Type_Of_Currency IN  char := 'EUR')   return number 
is
  Result number(12,2);
begin
 Result := 10000;  
IF char <> 'EUR' THEN
   -- ERROR NOT IMPLEMENTED YET
  END IF;  
    return(Result);
end doGetMyAccountMoney;also

它会导致很多警告,例如

Compilation errors for FUNCTION APPUEMP_PRAC.DOGETMYACCOUNTMONEY
Error: Hint: Parameter 'Currency' is declared but never used in 'doGetMyAccountMoney'
Line: 1

避免这些警告的最佳方法是什么?

解决方案

回答

好吧,我们确定该声明中的名称和名称正确无误吗?

它抱怨一个名为" Currency"的参数,但是我们实际上并没有使用它,对吗?

另一方面,我们正在使用一种叫做char的东西,那是什么?

或者也许我对PL / SQL的了解还很遥远,如果是这样,请发表评论,然后我将其删除。

回答

好吧,示例有几个错误。最重要的是,我们需要在IF语句中将" char"更改为" Currency";据我所知,它也可以避免发出警告。

回答

我相信这是由参数PLSQL_WARNINGS控制的,此处记录了10gR2的参数:http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams166.htm#REFRN10249

回答

禁用非严重的PL / SQL警告:

ALTER SESSION SET PLSQL_WARNINGS='ENABLE:SEVERE';

回答

如果我们没有能力更改警告级别,则可以将参数值绑定到虚拟值,并记录它们以备将来使用。