|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа 2.3 Применение Data Driven Query TaskData Driven Query Task в Data Transformation Services (DTS) SQL Server 2000, изменение данных с проверкой условий на внешнем источнике данных Задание:Создайте пакет, который бы изменял значения в столбце Heavy_Buyer в таблице Bulk_Customers. При этом должно устанавливаться значение "Y" для тех заказчиков, для которых общая сумма всех заказов в таблице Order Details (произведение Unit Price на Quantity) больше 10000 долларов. Запустите готовый пакет и сохраните его под именем Update_Buyer. Решение:1) определяем destination query - запрос на обновление источника. Он может быть таким:
2) создаем таблицу привязок - binding table. Команда на ее создание (ее необходимо выполнить в Query Analyzer или использовать Execute SQL Task аналогично ответу к лабораторной 2.2) может выглядеть так:
3) определяем source query - запрос, при помощи которого из источника будут извлекаться нужные нам данные. Он может быть таким:
Рекомендация: можно добавить в список возвращаемых столбцов (временно) вычисляемое поле SUM([Order Details].UnitPrice * [Order Details].Quantity), чтобы убедиться, что действительно возвращаются только данные для заказчиков, общая сумма заказов для которых больше 10000. 4) создаем новый пакет DTS и сохраняем его под именем Update_Buyer. Затем нужно создать два соединения OLE DB Provider for SQL Server с базой данных Northwind на локальном сервере (их можно назвать, например, NW1 и NW2) и помещаем в пакет через меню Task задание Data Driven Query Solution. Откроется окно свойств Data Driven Query Solution. 5) на вкладке Source окна свойств Data Driven Query Task переставляем переключатель в положение Source Query и вставляем в окно созданный нами Source Query. Можно нажать на кнопку Preview, чтобы убедиться, что с этим запросом все в порядке. 6) на вкладке Bindings выберите таблицу bulk_customers_binding. 7) на вкладке Transformations откройте свойства единственного преобразования ActiveX Script и замените строку Main = DTSTransformstat_InsertQuery
на Main = DTSTransformstat_UpdateQuery
Закройте окно свойств ActiveX Script преобразования с сохранением изменений. 8) на вкладке Queries в списке Query type выберите Update и в окно ниже скопируйте текст созданного нами Destination Query. Нажмите на кнопку Parse/Show Parameters и убедитесь, что столбец Destination CustomerID привязан к Parameter 1. Нажмите на кнопку OK, чтобы закрыть окно свойств Data Driven Query Solution. 9) сохраните пакет и запустите его на выполнение, чтобы убедиться, что он работает без ошибок. Выполните из Query Analyzer запрос SELECT * FROM bulk_customers чтобы убедиться, что значение столбца Heavy_Buyer поменялось для 12 заказчиков.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||