Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Пустое значение "даты" в хранимой процедуре  [new]
Stas2013
Guest
Здравствуйте. Имеется хранимая процедура для заполнения таблицы "Задачи". Данная таблица имеет поля: "Номер задачи", "Описание", "Пиоритет задачи", "Срок выполнения" и "Дата выполнения". Параметр, соответствующий каждому полю, передается в хранимую процедуру из приожения Дельфи. Вопрос, еесли параметр "Дата выполнения" пустой (имеет значение NULL)? так как он не является обязательным, как быть в этом случае. Ведь в процедуре он объявлен как тип данных "Date". Соответственно, при попытке передачи NULL появляется ошибка о несоответствии типов параметров.

Ести идейка создать еще одну аналогичную хранимую процедуру без этого параметра. Соответственно при наличии/отсутствии значениия в поле приложения, вызывать первую или вторую процедуру, но не знаю, правильный ли это ход.
Заранее благодарен.
20 июл 13, 14:55    [14593248]     Ответить | Цитировать Сообщить модератору
 Re: Пустое значение "даты" в хранимой процедуре  [new]
londinium
Member

Откуда: Киев
Сообщений: 1199
Зачем так сложно?
IF OBJECT_ID(N'dbo.CreateMyTask',N'P')IS NOT NULL
  DROP PROC dbo.CreateMyTask;
GO
CREATE PROC dbo.CreateMyTask
@InTaskNumber SMALLINT,--номер задачи
@InDescription VARCHAR(200),--описание
@InPriority SMALLINT,--приоритет
@InTerm SMALLINT,-- срок
@InDoneDate DATE=NULL  --дата выполнения

Если не передадите @InDoneDate, то он по умолчанию будет равен NULL
20 июл 13, 15:01    [14593263]     Ответить | Цитировать Сообщить модератору
 Re: Пустое значение "даты" в хранимой процедуре  [new]
Stas2013
Guest
Пробовал. При попытке передачи в качестве параметра null или не передачи его вообще, пишет "Неправильно определен объект Parametr. Представлены несовместимые или неполные сведения"
20 июл 13, 15:30    [14593313]     Ответить | Цитировать Сообщить модератору
 Re: Пустое значение "даты" в хранимой процедуре  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
Stas2013
Соответственно, при попытке передачи NULL появляется ошибка о несоответствии типов параметров.
Вым нужно спросить в форуме по дельфи.
Не может быть, что бы нельзя было передать значение NULL, вы что то неправильно делаете.
20 июл 13, 15:56    [14593364]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить