Страница 1 из 1

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

Добавлено: 20 дек 2005, 02:39
Demm
помогите создать представление.
У меня есть 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

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

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

Для данного случая:
На таблицу "tovar" навешивается два триггера (на запросы INSERT и UPDATE), которые проверяют поле "kolich" и делают, при необходимости, вставку (INSERT) в таблицу "zakaz" из выборки (SELET) по первым двум таблицам для id ("art") вставляемого/изменяемого товара.

Добавлено: 20 дек 2005, 11:34
Игорь Акопян
Oscar, в названии темы "представление" следовательно создаётся именно оно
Demm, чтобы связать две таблицы необходимы ключевые поля, соответственно нужно привести вашу базу к 3-ей (вроде ;) ) нормальной форме

Добавлено: 20 дек 2005, 14:18
Demm
Игорь Акопян, все таблицы связаны. Вывод в фаил мне нужен просто заполненной таблицы.
А запрос должен работать так я его запускаю руками, а он проверяет где меньше пяти и добавляет в заказ эту строчку. (большей автоматизации в mysql точно нет)

Добавлено: 21 дек 2005, 13:31
Demm
Вот такой тупой вопросик возник. Представление обрабатывает таблицы с которыми работает только один раз при создании или при каждом вызове?

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