|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.05.2009, 19:38 | #1 |
Пользователь
Регистрация: 04.05.2009
Сообщений: 12
|
Триггеры и хранимые процедуры SQL
Здравствуйте!
Для базы данных информационной системы магазина нужно создать триггер, запрещающий добавление записи о продаже с прошедшей датой. Триггер должен быть связан с таблицей продаж. Мне написали следующий код триггера, но он не работает: create TRIGGER <trigger name> before update on <table name> FOR EACH ROW BEGIN if NEW.date_column<NOW() THEN SET NEW.date_column=null; END IF; END; Есть ли вообще такая функция NOW()? Также нужно написать хранимые процедуры, реализующие различные действия, например: стирание всех записей о продажах с датой, предшествующей указанной; подсчёт суммарной стоимости товаров на складе; поиск товаров, кол-во которых не превышает 10 единиц; определение товара, который данный покупатель покупает чаще всего, а также продавца, с которым данный покупатель чаще всего общается; расчет премии продавца (3% стоимости товара (товар дешевле 1000 у.е.) или 5% стоимости товара (товар дороже 1000 у.е.)); расчет скидки покупателю (1% за каждую 1000 у.е.); подсчет суммарной стоимости проданных товаров (начиная с указанной даты); Помогите, пожалуйста, с написанием. |
04.05.2009, 20:23 | #2 | |||||
Пользователь
Регистрация: 01.04.2009
Сообщений: 94
|
Цитата:
Код:
Цитата:
Код:
Цитата:
Код:
Цитата:
Код:
Цитата:
Код:
Код:
По ракетам и хоккею - Россияне всех сильней!
|
|||||
04.05.2009, 20:57 | #3 |
Форумчанин
Регистрация: 05.10.2007
Сообщений: 536
|
Код:
rocklistener...
|
04.05.2009, 22:54 | #4 |
Пользователь
Регистрация: 04.05.2009
Сообщений: 12
|
|
04.05.2009, 23:01 | #5 |
Пользователь
Регистрация: 04.05.2009
Сообщений: 12
|
А что подразумевается под индексом параметра? И в Quiery Analyzer'e можно вставить этот код, или это только синтаксис? Прошу меня понять, я в SQL не очень хорошо разбираюсь
|
05.05.2009, 04:44 | #6 |
Форумчанин
Регистрация: 05.10.2007
Сообщений: 536
|
я так понял, у вас MS SQL Server. Тогда запускайте Enterprse Manager, и щелкайте по вашей таблице ПКМ. Выбирайте Design Table. Если в появившемся окошке напротив имени столбца в колонке Allow Null будет галочка,то NULL разрешено.
З.Ы. Пишу абсолютно по памяти, и за 16 минут до выезда на работуВозможны неточности.
rocklistener...
|
10.05.2009, 14:37 | #7 |
Пользователь
Регистрация: 04.05.2009
Сообщений: 12
|
Да, все верно, именно MS SQL Server. Я знаю, как разрешить NULL, мне просто нужно написать триггер, а будет он запрещать это значение или разрешать - мне неведомо Главное, чтобы не давал делать записи с прошедшей датой
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание процедуры на SQL | Skyline20000 | SQL, базы данных | 0 | 31.03.2009 16:57 |
Хранимые процедуры... | Только_Учусь | БД в Delphi | 2 | 17.07.2008 06:06 |
Блоб поля и хранимые процедуры | yulia | БД в Delphi | 8 | 07.06.2008 16:42 |
Сложные SQL запросы или хранимые процедуры! | Killer_djon | БД в Delphi | 17 | 25.03.2008 12:10 |