Как определить, было ли задано значение параметра PL / SQL по умолчанию?

StackOverflow https://stackoverflow.com/questions/882466

Вопрос

Предположим, у меня есть хранимая процедура PL / SQL, как показано ниже:

родовое слово

Теперь предположим, что do_something вызывается двумя разными способами:

родовое слово

Как я могу определить процедуру do_something, чтобы определить, какой сценарий ее вызывает?

Изменить: разъяснение моих намерений относительно этой процедуры:

родовое слово

Ниже приведены примеры использования этой процедуры с соответствующими желаемыми предложениями SQL:

родовое слово
Это было полезно?

Решение

Вы можете перегрузить процедуру вместо использования значения по умолчанию:

родовое слово

Другие советы

Как насчет того, чтобы вместо значения по умолчанию null, по умолчанию для пропущенных значений параметров использовать то, что вы никогда не будете использовать в реальном мире?Используемые вами значения должны принадлежать какому-либо домену, поэтому выбирайте значения за пределами этого домена.

например

ПРОЦЕДУРА do_something (foo VARCHAR2 DEFAULT '* # @') ЕСТЬ

родовое слово

НАЧАТЬ

родовое слово

КОНЕЦ;

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top