oracle中,创建函数和存储过程时,默认值怎么处理?
来源:百度知道 编辑:UC知道 时间:2024/08/24 01:43:55
函数的某参数有默认值,应该意味着,若调用时给了相应的实参,则使用该实参的值,若没有给相应实参,则使用默认值,那么:
1. oracle创建函数和存储过程,是否要求有默认值的参数放在最后?
比如创建一个函数,有四个参数,其中3个有默认值,那么当用户调用这个函数时,若给了两个参数,则无法认出是给谁的。oracle中使用什么限制来防止这种情况的发生? 对于存储过程和函数,是否采用相同限制?
2. 如上所言,函数的重载也受到参数的默认值影响,一个有两个参数的函数,怎样跟一个3参数,但一种一个参数可有默认值的函数相区分出来?
1. oracle创建函数和存储过程,是否要求有默认值的参数放在最后?
比如创建一个函数,有四个参数,其中3个有默认值,那么当用户调用这个函数时,若给了两个参数,则无法认出是给谁的。oracle中使用什么限制来防止这种情况的发生? 对于存储过程和函数,是否采用相同限制?
2. 如上所言,函数的重载也受到参数的默认值影响,一个有两个参数的函数,怎样跟一个3参数,但一种一个参数可有默认值的函数相区分出来?
你说的这种情况可以用下面的这种调用方式来防止
PKG_XXX.PRC_XXX(o_nextBusinessDtNum => dateCnt,
o_processDate => processDt,
o_retCode => retCode,
o_errRec => errRec);
=>左边是PKG_XXX.PRC_XXX里定义的名字,右边是调用PKG_XXX.PRC_XXX时用于接收或者传入的变量,你说的情况就解决了。