Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные 3-4.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.72 Mб
Скачать

Действия бд: insert Вставка новой записи в таблицу

Первый пример в этом разделе описывает простую задачу добавления нового офиса OrgChart к таблице Altova. Полями, доступными в таблице Altova являются: PK и Name.

  1. Введите схему Altova_Hierarchical.xsd (и свяжите с файлом altova-cmpy.xml как экземпляром XML)

  2. Введите БД altova.mdb в отображение.

  3. Создайте следующее отображение:

  • Altova на Altova;

  • Name на Name.

  1. Щелкните ПКМ на узле Altova компонента БД и выберите Database Table Actions.

В этом диалоге есть только один столбец действия Insert All. Действия таблицы Update if...и Delete if... выбираются щелчком по заголовку выпадающего списка, тогда как дополнительные условия таблицы могут быть определены нажатием кнопок «Append» или «Insert Action».

Действие таблицы Insert All втсавляет все отображаемые поля текущей таблицы в БД. Мы теперь должны определить состояние (status) нового поля PK для этого действия.

  1. Щелкните ОК для подтверждения текущих установок.

  2. Щелкните по пункту PK ПКМ и выберите Database Key Settings.

  1. Выберите Maximum number и нажмите ОК для подтверждения. Обратите внимание, что входной значок поля PK теперь недоступен.

  1. Нажмите на вкладку Output, чтобы увидеть псевдо-SQL код, который производит отображение.

  1. Щелкните по значку (Run SQL-Script) на ПИ, чтобы запустить скрипт и вставить данные таблицы в БД. Если скрипт успешно выполняется, появляется сообщение. Щелкните ОК для подтверждения.

  2. Откройте БД altova.mdb.

Новая запись Microtech OrgChart добавлена в таблицу Altova с новым PK = 2. Данные для этой записи были порождены экземпляром XML-документа.

  1. Вернитесь обратно в MapForce.

Теперь вы видите запись, которая является результатом обработки SQL-скрипта.

Вы можете выполнить сценарий SQL из окна Output только один раз, для повторного выполнения вы должны вернуться в окно Mapping, затем снова в Output и выполнить сценарий.

Вставка таблиц и связанных дочерних таблиц.

Второй пример вставляет связанные таблицы офиса к новой записи OrgChart. Этот пример использует предыдущий как основу и расширяет его, добавляя связанные дочерние таблицы Office к родительской таблице Altova.

Отношения таблиц генерируются автоматически только тогда, когда отображения созданы между дочерними таблицами корневой таблицы. В этом случае отображения создаются между полями Office, которые непосредственно связаны с родительской (или корневой) таблицей Altova.

  1. Щелкните ПКМ на узле Office и выберите пункт «Database Table Actions». По умолчанию выбрано действие Insert All...; ничего не меняя, нажмите ОК для подтверждения.

  2. Щелкните ПКМ на поле Office | PrimaryKey и выберите Database Key Settings.

  3. Выберите Maximum number и щелкните ОК для подтверждения.

  4. Создайте следующее отображение:

  • Office на Office;

  • Desc на Desc;

  • EMail на Email;

  • Established на Established;

  • Name на Name.

Щелкните на вкладке Output, чтобы увидеть псевдо-SQL код.

  1. Щелкните по значку (Run SQL-Script) на ПИ, чтобы запустить скрипт и вставить данные в таблицу БД.

  2. Дважды щелкните на таблице Altova в MS Access чтобы увидеть действие в БД.

  1. В добавлено два новых офиса.

  2. Щелкните дважды на таблице Office в MS Access, чтобы увидеть действие в БД более детально.

Новые офисы добавлены с PK = 3 и 4 соответственно. Оба новых офиса связаны с таблицей Altova, имеющей FK = 2, который ссылается на запись Microtech OrgChart.