![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не обязательный параметр у хранимой процедуры [IB6.x]
Ivan_ © (2004-12-20 20:07:00)Подскажите плиз как определить не обязательный входной параметр в хранимой процедуре и присвоить ему значение по умолчанию
Sergey_Masloff (2004-12-21 22:44:00) [1]Vemer © (21.12.04 10:31) [4]
Ну в процедуру не всегда ID передается же ж... Интересен также сам вариант с передачей недействительного ID в качестве параметра по умолчанию ;-)
>Не пробовал, но есть большое подозрение
А зачем писать если не пробовал? ;-)
Clear() это задание параметру вполне конкретного значения NULL независимо от типа параметра.
Vemer (2004-12-21 10:31:00) [2]To Sergey_Masloff:
У меня Integer, привык через IDвсе делать :).
Это пример.
Не пробовал, но есть большое подозрение, чтоClearопять-же приведет к воплям о незаданном параметре.
Sergey_Masloff (2004-12-20 22:48:00) [3]Vemer © (20.12.04 21:01) [2]
Во всех процедурах все параметры - Integer? ;-)
На самом деле если уж не задан надо просто делать параметру
Clear();
ИМХО
Vemer (2004-12-20 21:01:00) [4]На клиенте, чтобы избежать воплей о незаданном параметре, в начале можно делать примерно так (для IBQuery тоже):
For I = 0 To My_StoredProc.Paramcount - 1 Do
My_StoredProc.Param[I].AsInteger := 0;
Sergey_Masloff (2004-12-20 20:13:00) [5]В IB никак. Ну никто не запретит конечно передавать в случае необязательности NULL и анализировать эту ситуацию в теле процедуры. Вызвать процедуру передав число параметров меньше чем объявленое (если это цель введения значений по умолчанию) - не получится.