Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
...
16 дек 12, 12:02    [13638271]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
ALTER TABLE dbo.Order ADD CONSTRAINT CK_Order_OrderDate CHECK (OrderDate >= CAST(CONVERT(char(8), GETDATE(), 112) AS datetime)
16 дек 12, 12:18    [13638279]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
igr_ok
Member

Откуда:
Сообщений: 170
Лучше подобные проверки делать на клиенте, а не на сервере.
Если дата заказа=дата внесения данных по заказу в БД, то просто установить значение по умолчанию для этого поля GETDATE().
16 дек 12, 12:31    [13638294]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
pkarklin,

роле CONSTRAINT что нужно прописывать?
16 дек 12, 12:43    [13638313]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Катя2012,

Нет тут никаких ролей. Это ограничение, которое не позволит вставить в таблицу данные, неудовлетворяющие условию.
16 дек 12, 12:45    [13638315]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
Катя2012,

после
16 дек 12, 12:47    [13638318]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Катя2012
после


CK_Order_OrderDate - это имя ограничения (объекта бд).
16 дек 12, 12:48    [13638320]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
pkarklin,

DECLARE @m date, @n int
SELECT @m = [Дата заказа]
From inserted
IF @n>= CurDate()
BEGIN
ROLLBACK TRAN
PRINT
'ДАТА ЗАКАЗА ПОЗДНЕЕ ТЕКУЩЕЙ ДАТЫ'

в чем ошибка?
16 дек 12, 13:20    [13638424]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Катя2012,

Выбираете в @m, а сравниваете @n. При этом забываете, что в inserted м.б. не только одна запись и PRINT это не RAISERROR.
16 дек 12, 13:23    [13638433]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
pkarklin, спасибо

у меня теперь текущая дата не проходит..
16 дек 12, 13:26    [13638439]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
qwerty112
Guest
pkarklin
Катя2012,

Выбираете в @m, а сравниваете @n. При этом забываете, что в inserted м.б. не только одна запись и PRINT это не RAISERROR.

+ и begin без end-а, и вообще триггер не нужен,

Сообщение было отредактировано: 16 дек 12, 13:28
16 дек 12, 13:27    [13638443]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Катя2012,

Вам уже дали решение. Триггер здесь не нужен.

Сообщение было отредактировано: 16 дек 12, 13:30
16 дек 12, 13:28    [13638450]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
pkarklin,

я не поняла как без триггера написать
16 дек 12, 13:31    [13638461]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Катя2012,

Здесь что непонятно: Дата заказа не позднее текущей даты. Триггер...как прописать
16 дек 12, 13:33    [13638468]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
pkarklin,

в ограничении прописывать?
16 дек 12, 13:36    [13638477]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Катя2012
pkarklin,

в ограничении прописывать?


Это имя ограничения, можете написать туда что угодно в рамках требования к идентификаторам в MS SQL.

ЗЫ. Документацию уже откройте.
16 дек 12, 13:37    [13638482]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Гость333
Member

Откуда:
Сообщений: 3683
автор
Дата заказа не позднее текущей даты


pkarklin
ALTER TABLE dbo.Order ADD CONSTRAINT CK_Order_OrderDate CHECK (OrderDate >= CAST(CONVERT(char(8), GETDATE(), 112) AS datetime)


ALTER TABLE dbo.Order ADD CONSTRAINT CK_Order_OrderDate CHECK (OrderDate < CAST(CONVERT(char(8), GETDATE() + 1, 112) AS datetime)

fixed
16 дек 12, 13:46    [13638499]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
pkarklin,

где ее найти
16 дек 12, 13:46    [13638502]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
Гость333,

это где писать?
16 дек 12, 13:54    [13638529]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Катя2012
где ее найти


Кого, её?
16 дек 12, 14:05    [13638552]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Катя2012
это где писать?


А Вы где все инструкции на T-SQL пишите?
16 дек 12, 14:05    [13638553]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
iap
Member

Откуда: Москва
Сообщений: 47145
Катя2012
pkarklin,

где ее найти
Например: http://msdn.microsoft.com/ru-ru/library/bb510741(v=sql.100).aspx
16 дек 12, 14:10    [13638570]     Ответить | Цитировать Сообщить модератору
 Re: Дата заказа не позднее текущей даты. Триггер...как прописать  [new]
Катя2012
Member

Откуда:
Сообщений: 32
спасибо всем
16 дек 12, 20:46    [13639678]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить