| AOleg |
| что если укажу перед запуском процедуры из дельфи .... всё должно пройти нормально? |
Крайне сомневаюсь. Я не знаю MSSQL и SDAC, постараюсь описать в терминах Oracle.
Допустим, Вы делаете процедуру:
create procedure Dummy ( i integer default 10 ) is
begin
dbms_output.put_line ( 'i = ' || i ) ;
end ;
Ее можно вызвать:
begin
Dummy ( 20 ) ; -- результат 20
Dummy ; -- результат 10
end ;
Проблема в том, что код генерации, находящийся в компоненте StoredProc, действует очень просто: идет по списку параметров и генерирует соответствующую часть вызова; например, для процедуры Dummy он сгенерирует
begin
Dummy ( :i ) ;
end ;
Все. Начиная с этого момента, поскольку параметр явно указан, значение по умолчанию не используется. Для того, чтобы использовать значение по умолчанию, нужно
удалить этот параметр из списка.
Конечно, хорошо бы, чтобы была более мягкая функциональность, возможность сказать параметру использовать значение по умолчанию. Для ODAC я такой возможности не нашел, поэтому полагаю, ее нет и в SDAC, и таки придется писать какой-нибудь DeleteParam.