В ходе сложной структуры базы данных мне необходимо предоставить пользователю возможность редактировать данные, хранящиеся в серии таблиц. Хотя все типы данных одинаковы, они не выстраиваются в очередь 1: 1 в своих именах. Чтобы облегчить это, я создал запрос, который отображает исходные имена (которые поступают из внешних отчетов) во внутренние имена; из этих запросов все подается в один гигантский запрос UNION.Как сделать редактируемый запрос UNION?
Все типы данных и размеры полей строятся правильно.
Что еще мне нужно сделать, чтобы этот запрос UNION работал?
Это текущий SQL за запрос:
SELECT * FROM MappingQuery1 UNION SELECT * FROM MappingQuery2;
EDIT:
Ответ ниже разместил ссылку на KB article состояний с уверенностью утверждать, что данные в UNION
запрос не может быть обновлено. Есть ли способ обойти это? Например:
SELECT * FROM MappingQuery1, MappingQuery2;
Будет ли это работать? Помните, что все поля выровнены по типу, размеру и имени.
Есть ли возможность объединить отдельные таблицы в главную таблицу, которая имеет ту же структуру, за исключением одного дополнительного поля для имени таблицы, из которой возникла каждая строка? – HansUp
SELECT * FROM MappingQuery1, MappingQuery2; даст вам декартовой запрос (набор результатов, содержащий все возможные комбинации каждой строки) - он не будет доступен для редактирования. Я согласен с HansUp. – Fionnuala
HansUp предполагает, что структура базы данных не является оптимальной. Как практикующий диагност (в основном, диагностируя свои проблемы, признаюсь), я думаю, что это очень вероятно. Если это так, за этим вызовом последуют многие другие. – Smandoli