Как определить, было ли задано значение параметра PL / SQL по умолчанию?
-
22-08-2019 - |
Вопрос
Предположим, у меня есть хранимая процедура PL / SQL, как показано ниже:
родовое слово Теперь предположим, что do_something
вызывается двумя разными способами:
Как я могу определить процедуру do_something
, чтобы определить, какой сценарий ее вызывает?
Изменить: разъяснение моих намерений относительно этой процедуры:
родовое словоНиже приведены примеры использования этой процедуры с соответствующими желаемыми предложениями SQL:
родовое словоРешение
Вы можете перегрузить процедуру вместо использования значения по умолчанию:
родовое словоДругие советы
Как насчет того, чтобы вместо значения по умолчанию null, по умолчанию для пропущенных значений параметров использовать то, что вы никогда не будете использовать в реальном мире?Используемые вами значения должны принадлежать какому-либо домену, поэтому выбирайте значения за пределами этого домена.
например
ПРОЦЕДУРА do_something (foo VARCHAR2 DEFAULT '* # @') ЕСТЬ
родовое словоНАЧАТЬ
родовое словоКОНЕЦ;