Предположим, что таблица «Источник» заполняется данными каждый час с помощью процедуры на месте. Я хочу запустить процедуру, которая будет заполнять мою новую таблицу «NEW» ТОЛЬКО новыми строками целевой таблицы SOURCE каждый раз, когда будут выполняться профи, имея в виду, что новая таблица ДОЛЖНА всегда держать все время уже вставленными данными (я имею в виду, что решение каждый раз, когда процесс вставляет в ... NEW, а затем вставлять во временную таблицу различные значения, удалять NEW, вставлять из temp и т. д., не помогает).plsql- Обогащение таблиц из таблицы чужих данных
ответ
Если я правильно понял, что вы хотите, и будет, вставьте только новые записи из SOURCE в NEW, есть много способов сделать это. Вот некоторые из них:
1) Создайте триггер на SOURCE, который автоматически вставляет в NEW, поэтому вам не нужно беспокоиться о вещи.
2) Используйте инструкцию, подобную этой, чтобы выбрать только новые строки из SOURCE. Предполагается, что первичные ключи одинаковы для обеих таблиц.
INSERT INTO NEW
SELECT * FROM SOURCE s1 WHERE NOT EXISTS (SELECT 1 FROM NEW n1 WHERE n1.key=s1.key)
3) Использование материализованных представлений & мв особенность журнала. Это немного сложнее, и я предлагаю изучить документацию оракула или некоторые другие ресурсы, если вы не знакомы с ним.
4) Измените процедуру, которая вставляет в SOURCE, чтобы вставить в NEW.
Конечно, вам нужно выяснить, что делать, если есть возможные обновления SOURCE. Я могу объяснить эти методы подробно, если вы хотите.
Проголосовало за решение dsmoljanovic. Одна из причин, почему процедурное решение (с временными отметками или последовательностями) не подходит для этого, является незафиксированными данными.
Возьмем пример:
At 02:55:00: 75 rows are added to SOURCE and are timestamped '02:55:00'
At 02:55:30: The 75 row insert is committed
At 02:59:55: 100 rows are added to SOURCE and are timestamped '02:59:55'
At 03:00:00: Your process kicks off and selects from source
At 03:00:20: The 100 row insert is committed
Процесс не будет видеть эти 100 строк (так как они не совершаются), и в следующий раз, он работает, он может пропустить их, если он ищет строки датируемые после 03 : 00: 00.
- 1. Обогащение таблицы данных с производными значениями из другой таблицы данных.
- 2. Сделать pthread ждать чужих данных
- 3. Обогащение данных/строк Excel путем ссылки на% акций другой таблицы
- 4. Таблицы циклов/таблиц данных
- 5. Заполнение таблицы таблиц из базы данных SQLite
- 6. Использование данных из таблицы скрытых таблиц
- 7. PLSQL вложенные таблицы
- 8. PLSQL - переменные таблицы слияния
- 9. Расчет PLSQL и month_between из таблицы
- 10. PLSQL: создать XML из "иерархической" таблицы
- 11. Mule: Обогащение XML дополнительной информацией из DB
- 12. Извлечение данных из таблицы таблиц сводных таблиц Excel в Linux
- 13. Auth0 - обогащение данных с помощью информации пользователя
- 14. Таблицы таблиц в базе данных
- 15. Обогащение внутреннего класса
- 16. plsql сравнение структуры таблиц в 2 разных базе данных
- 17. Обогащение параллельно после сплита
- 18. Удаление данных из таблиц
- 19. plsql- Вставка данных в форму таблицы 2 таблицы с использованием динамического имени таблицы дает ошибку
- 20. Неисправность в получении данных из всех динамически найденных таблиц в PLSQL
- 21. данных из 2 таблиц
- 22. Получение идентификатора из чужих отношений django
- 23. Таблицы таблиц данных, возвращающих ошибку
- 24. Обогащение объект подмешать черты
- 25. Переменная таблицы Tsql для Oracle PLSql
- 26. Обогащение полезной нагрузки через шлюз
- 27. plsql сравнение таблицы и представления
- 28. oracle plsql процедура динамическое подсчет таблиц в цикле курсора
- 29. PLSQL: изменение захвата данных для получения измененных записей таблицы
- 30. Извлечение данных из прозрачных таблиц