ПОмогите создать представление

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
Demm
Сообщения: 40
Зарегистрирован: 12 ноя 2004, 19:11

помогите создать представление.
У меня есть 3 таблицы
1)tovar

Код: Выделить всё

art   nazv   otdel  kolich
 1   плата    2        4
 2   мышь    1        3
 3   клава   1        6
2)postavwik

Код: Выделить всё

name   adress         schet   обслуживает отделы(ob_otd)
оао ы    ленина45     555          1,2
ПИК      путина 16     222          3,4
3)zakaz

Код: Выделить всё

num  tovar  kolich  postavwik  otdel
Требуется создать представление, которое бы заполняло таблицу zakaz если количество оставшегося товара <5.
Помогите пожалуста, это мои первые шаги в Mysql'е.
Как организовать в MySql вывод в фаил.
P.S у меня Mysql 5.0
Аватара пользователя
Oscar
Сообщения: 963
Зарегистрирован: 29 май 2004, 13:44
Откуда: Мюнхен (рожден в Киеве)
Контактная информация:

Честно говоря, весьма сомневаюсь в том, что MySQL умеет писать в файл (БД обычно не для этого предназначены, насколько мне известно).
Быть может макскимум - это dump таблицы, но не понимаю, как это может быть связано с вышеуказаным заданием.
Если нужно заказ выводить на печать - нужно, скорей всего, использовать внешний язык программирования.

Другое дело "заполнение таблицы, если кол-во <5"
Не уверен, дорос ли MySQL 5 уже до этого (не имел с ним дела), но в таких БД, как Oracle и MSSQL
(кстати, вопрос по ходу, MSAccess -это ведь тоже БД? А FoxPro?)
есть понятие "Триггер". Это событие, которое выполняется по некоторому условию.

Для данного случая:
На таблицу "tovar" навешивается два триггера (на запросы INSERT и UPDATE), которые проверяют поле "kolich" и делают, при необходимости, вставку (INSERT) в таблицу "zakaz" из выборки (SELET) по первым двум таблицам для id ("art") вставляемого/изменяемого товара.
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

Oscar, в названии темы "представление" следовательно создаётся именно оно
Demm, чтобы связать две таблицы необходимы ключевые поля, соответственно нужно привести вашу базу к 3-ей (вроде ;) ) нормальной форме
Изображение
Demm
Сообщения: 40
Зарегистрирован: 12 ноя 2004, 19:11

Игорь Акопян, все таблицы связаны. Вывод в фаил мне нужен просто заполненной таблицы.
А запрос должен работать так я его запускаю руками, а он проверяет где меньше пяти и добавляет в заказ эту строчку. (большей автоматизации в mysql точно нет)
Demm
Сообщения: 40
Зарегистрирован: 12 ноя 2004, 19:11

Вот такой тупой вопросик возник. Представление обрабатывает таблицы с которыми работает только один раз при создании или при каждом вызове?
Demm
Сообщения: 40
Зарегистрирован: 12 ноя 2004, 19:11

Почитал маны, версия 5.0.16 поддерживает триггеры, только я вот не совсем разобрался с синтаксисом.
Как мне организовать это
На таблицу "tovar" навешивается два триггера (на запросы INSERT и UPDATE), которые проверяют поле "kolich" и делают, при необходимости, вставку (INSERT) в таблицу "zakaz" из выборки (SELET) по первым двум таблицам для id ("art") вставляемого/изменяемого товара.
Триггер нужен только для inserta. :?:
Ответить