Обзор мультитабличных инструкций INSERT

В мультитабличной инструкции INSERT вычисляемые строки, полученные из строк, которые возвращены из результатов оценки подзапроса, вставляются в одну или более таблиц.

4-16-7956719

Мультитабличные инструкции INSERT удобны в сценарии хранилища данных. Необходимо регулярно загружать хранилище данных, чтобы оно выполняло свое назначение по облегчению бизнес-анализа. Для обеспечения этого данные из одной или нескольких операционных систем должны извлекаться и копироваться в хранилище. Процесс извлечения данных из системы-источника и заполнение ими хранилища данных обычно называется ETL – сокращение, обозначающее извлечение, преобразование и загрузку.

Во время извлечения требуемые данные должны идентифицироваться и извлекаться из нескольких разных источников, таких как системы баз данных и приложения. После извлечения данные должны физически переноситься в целевую систему или промежуточную систему для дальнейшей обработки. В зависимости от выбранных средств транспортировки некоторые преобразования могут выполняться во время данного процесса. Например, инструкция SQL, которая непосредственно обращается к удаленной целевой системе через шлюз, может объединять два столбца в качестве части инструкции SELECT.

После загрузки информации в базу данных Oracle преобразования данных могут выполняться с помощью операций SQL. Мультитабличная инструкция INSERT служит одним из способов реализации преобразований данных SQL.

Мультитабличные инструкции INSERT

  • Используйте инструкцию INSERTSELECT как часть одиночной инструкции DML для вставки строк в несколько таблиц.

  • Мультитабличные инструкции INSERT применяются в системах хранилищ данных для передачи данных из одного или нескольких рабочих источников в набор целевых таблиц.

  • Они обеспечивают значительное улучшение эффективности:

    • одиночной инструкции DML в сравнении с несколькими инструкциями INSERT…SELECT;

    • одиночной инструкции DML в сравнении с процедурой выполнения нескольких вставок с помощью синтаксиса IF...THEN.

Мультитабличные инструкции INSERT предоставляют преимущества инструкции INSERTSELECT в случаях, когда в качестве целевых объектов задействовано несколько таблиц.

Без мультитабличной инструкции INSERT приходилось иметь дело с n независимыми инструкциями INSERTSELECT, тем самым обрабатывая один и тот же источник данных n раз и увеличивая нагрузку по преобразованию данных в n раз.

Как и в случае существующей инструкции INSERT ... SELECT, новая инструкция может выполняться параллельно и использоваться с механизмом прямой загрузки для ускорения работы.

Каждая запись из любого входного потока, например таблицы нереляционной базы данных, может теперь преобразовываться в несколько записей для среды таблиц реляционных баз данных. Для альтернативной реализации этих функциональных возможностей потребовалось бы написать несколько инструкций INSERT.

Далее: Типы данных INTERVAL

Похожие записи