![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
К очередным археологическим изысканиям меня побудило желание сделать нечто не совсем тривиальное, о чём в документации не пишут. Это обычно приводит к необходимости брать лопату и идти копать исходный код. Вот и на этот раз…
function XXX( ... argument1 IN varchar2 default CHR(0), argument2 IN varchar2 default CHR(0), argument3 IN varchar2 default CHR(0), ... ... ... argument99 IN varchar2 default CHR(0), argument100 IN varchar2 default CHR(0) ) return number is ... begin ... if (argument1 = CHR(0)) then goto end_args; end if; nargs := 1; argtxt := argtxt||argument1; if (argument2 = CHR(0)) then goto end_args; end if; nargs := 2; argtxt := argtxt|| ', '||argument2; if (argument3 = CHR(0)) then goto end_args; end if; nargs := 3; argtxt := argtxt|| ', '||argument3; ... ... ... if (argument99 = CHR(0)) then goto end_args; end if; nargs := 99; argtxt := argtxt||', '||argument99; if (argument100 = CHR(0)) then goto end_args; end if; nargs := 100; argtxt := argtxt||', '||argument100; <<end_args>> ... end;
Ну а с другой стороны, чего ждать от исходника, авторы которого Ram Bhoopalam и H Pelimuhandiram?..