powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно создать процедуру с параметром по умолчанию
6 сообщений из 6, страница 1 из 1
Как правильно создать процедуру с параметром по умолчанию
    #32051714
Dmitry_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго время суток!
Подскажите пожалуйста, есть процедура:

Create Procedure DateTest
@CurDate datetime = GetDate
AS
Print @CurDate

Вызываю ее следующим образом:
EXEC DateTest

Выдается сообщение:
Server: Msg 241, Level 16, State 1, Procedure DateTest, Line 0
Syntax error converting datetime from character string.


Объясните пожалуйста, почему процедура не печатает значение по умолчанию - GetDate(), и как надо ее написать, что бы все работало...
...
Рейтинг: 0 / 0
Как правильно создать процедуру с параметром по умолчанию
    #32051716
Фотография snake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В качестве значения параметра по умолчанию не использовать функцию GetDate().
...
Рейтинг: 0 / 0
Как правильно создать процедуру с параметром по умолчанию
    #32051717
Dmitry_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошо, а как тогда быть, если требуется задать текущую дату?
...
Рейтинг: 0 / 0
Как правильно создать процедуру с параметром по умолчанию
    #32051721
Фотография snake
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
Create Procedure DateTest 
@CurDate datetime = NULL
AS 
set @CurDate = GetDate ()
Print @CurDate 
...
Рейтинг: 0 / 0
Как правильно создать процедуру с параметром по умолчанию
    #32051722
Фотография akuz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы не было ошибки
Print @CurDate
Замените на Print CONVERT(varchar,@CurDate)

а по умолчанию NULL

Код: plaintext
1.
2.
3.
4.
Create Procedure DateTest 
@CurDate datetime = NULL
AS 
set @CurDate = ISNULL(@CurDate,GETDATE())
Print CONVERT(varchar,@CurDate)
...
Рейтинг: 0 / 0
Как правильно создать процедуру с параметром по умолчанию
    #32051723
Dmitry_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пожалуй это самый лучший вариант!

Спасибо!
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как правильно создать процедуру с параметром по умолчанию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]