Цитата:
|
Это принципиальное ограничение :"Нельзя произвести запись одновременно в несколько таблиц" ?
Хорошо, а какие есть принципиальные ограничения в синтаксиcе СУБД MySQL на комбинацию запросов Например-можно ли комбинировать все запросы со всеми ? Или есть только (назовем так совместимые) пары (типа Insert..Select) Какова вложенность запросов-например запро1 -получает значение из (запроса2-который в свою очередь получает значение из (запроса3-который---Nраз повторенная конструкция вложенности---) Дело в том что на досуге почитывая документацию на сайте оракла так и не нашел ответ на эти вопросы... Например в таких СУБД как oracle, vsfoxpro, ms access в документации указано на отсутствие ограничений на вложенность запросов,но есть ограничения на совместную совместимость типов запросов... В общем интересно Ваше мнение - есть ли принципиальная возможность автоматического заполнения полей одной таблицы данными из другой таблицы ВНИМАНИЕ !!! без хранимых процедур, А ТОЛЬКО КОМБИНАЦИЕЙ ЗАПРОСОВ. Если есть- прошу указать доп ссылки где посмотреть, или привести пример на простом примере (например изложенном в посте выше) Буду очень благодарен (и да, давайте абстрагируемся от сложности условий, будем считать их тривиальными - например запись удовлетворяющая условию для n=10 строк) Спасибо за внимание. |
Цитата:
Сообразили на троих, послали одного в магазин за выпивкой, не зная при этом есть ли она в продаже. Вопрос - логично ли сразу оставшимся идти покупать закуску, или же дождаться первого и по результату его похода в магазин решать идти за закуской или нет? Даже уже по этой причине запись некоего значения из одной таблицы сразу не может быть записана в другую - нет его на момент записи. Но есть еще одна причина - всегда ли запросы к базе гарантировано заканчиваются удачно? Кроме этого, в процессе записи/обновления СУБД использует блокировку, поэтому, к примеру, нельзя в запросе обновления указать использование некоторого обновляемого значения. В СУБД нет понятия комбинации запросов, есть понятие вложенных запросов, объедение таблиц в запросах различными операторами. Всего рассказать просто не возможно, и учить все это придется самому. В помощь, но не в теории (никто вам лекции читать не будет), а по конкретным вопросам лучше на специализированный по СУБД форум, уж больно обширный не только материал, но и отличия в различных СУБД, тонкости и фичи разные. Что же касается сути из таблицы А в таблицу В, то нужно описывать конкретные условия. Если две таблицы должны иметь идентичные параметры неких данных, то нужно просто делать два SQL запроса. Триггеры в SQL, это не страшилка, а удобная вещь как раз подобных задач. |
ok спасибо за доступно-постижимый ответ :)
Увы, Вы оправдали мои опасения насчет регламентированости и лимитированности в целом любых СУБД.... Обращаясь к Вашей аналогии насчет третьего - действительно в СУБД (и я подозреваю,что в любых) не предусмотрена параллельность логик. Для нас,людей, естественно банальной считается логика ВЕРЫ в возвращаемость "третьего", и потому необходимость действий (приготовление закуски или как минимум стаканов) параллельных процессу движения "третьего". Спасибо за участие в диалоге. |
Часовой пояс GMT +3, время: 13:54. |