Поделиться через


Сопоставление параметров запроса с переменными в задаче «Выполнение SQL»

Данный раздел описывает использование параметризованной инструкции SQL в задаче «Выполнение SQL» и создание сопоставлений между переменными и параметрами в инструкции SQL.

Дополнительные сведения о задаче "Выполнение SQL", маркерах параметров и именах параметров, используемых с различными типами соединений, см. в разделах Задача "Выполнение SQL" и Параметры и коды возврата в задаче "Выполнение SQL".

Сопоставление параметра запроса с переменной

  1. В среде SQL Server Data Tools (SSDT)откройте необходимый пакет служб Службы Integration Services .

  2. Чтобы открыть пакет, дважды щелкните его в обозревателе решений.

  3. Перейдите на вкладку Поток управления .

  4. Если пакет не включает задачу «Выполнение SQL», добавьте его к потоку управления пакета. Дополнительные сведения см. в статье Добавление или удаление задачи или контейнера в потоке управления.
    .

  5. Дважды щелкните задачу «Выполнение SQL».

  6. Введите параметризированную команду SQL одним из следующих способов.

    • Используйте прямой ввод и введите команду SQL в свойство SQLStatement.

    • Используйте прямой ввод, нажмите кнопку Создать запроси создайте команду SQL, используя графические средства, предоставляемые построителем запросов.

    • Используйте подключение файла и укажите ссылку на файл, содержащий команду SQL.

    • Используйте переменную и укажите ссылку на переменную, содержащую команду SQL.

    Маркеры параметров, которые используются в параметризованных инструкциях SQL, зависят от типа соединения, используемого задачей «Выполнение SQL».

    Тип соединений Маркер параметра
    ADO ?
    ADO.NET и SQLMOBILE @<имя параметра>
    ODBC ?
    EXCEL и OLE DB ?

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

    Тип соединений Синтаксис SELECT
    EXCEL, ODBC и OLEDB SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?
    ADO SELECT* FROM Production.Product WHERE ProductId > ? AND ProductID < ?
    ADO.NET SELECT* FROM Production.Product WHERE ProductId > @parmMinProductID AND ProductID < @parmMaxProductID

    Примеры использования параметров с хранимыми процедурами см. в разделе Parameters and Return Codes in the Execute SQL Task.

  7. Щелкните Сопоставление параметров.

  8. Чтобы добавить сопоставление параметров, нажмите кнопку Добавить.

  9. Введите имя в поле Имя параметра .

    Имена параметров зависят от типа соединения, используемого задачей «Выполнение SQL».

    Тип соединений Имя параметра
    ADO Param1, Param2, …
    ADO.NET и SQLMOBILE @<имя параметра>
    ODBC 1, 2, 3, ...
    EXCEL и OLE DB 0, 1, 2, 3, ...
  10. Выберите переменную из списка Имя переменной . Дополнительные сведения см. в разделе Добавление, удаление и изменение области определяемой пользователем переменной в пакете.

  11. В списке Направление укажите, является ли параметр входом, выходом или возвращаемым значением.

  12. В списке Тип данных укажите тип данных параметра.

    Важно!

    Тип данных параметра должен быть совместим с типом данных переменной.

  13. Повторите шаги с 8 по 11 для каждого параметра инструкции SQL.

    Важно!

    Порядок сопоставления параметров должен соответствовать порядку, в котором параметры появляются в инструкции SQL.

  14. Нажмите кнопку ОК.

См. также:

Задача «Выполнение SQL»
Параметры и коды возврата в задаче «Выполнение SQL»
Переменные в службах Integration Services (SSIS)