а на уровне параметра такое зачем?

Для хранимых процедур.
1. Я подготавливаю единый запрос в котором перечислены маркеры всех параметров. 2. Для параметров, которым пользователь не передал значения, буду устанавливать SQL_DEFAULT

Для запросов на INSERT
1. тоже самое, только для колонок
2. тоже самое, только для колонок

--
Допустим, юзер подготавливает запрос "exec SP"

Провайдер определяет имя SP, получает список параметров, определяет наличие SUSPEND и подготавливает

либо execute procedure SP(?....?)
либо select * from SP(?....?)

После этого, если юзер не захочет указывать значения каких либо параметров (типа пусть сервер использует значения по-умолчанию), мне надо переподготавливать запрос, чтобы исключить эти параметры. А так, я буду туда передавать SQL_DEFAULT

Сейчас, если пользователь не указал значение для маркера, я с посылаю его в сад. Потому что возится с переподготовкой запроса - не дворянское занятие.

Коваленко Дмитрий.

Ответить