Импорт данных с использованием SQL-подготовленных Операторов с несколькими значениями параметров

В этом примере показано, как импортировать данные из базы данных Microsoft ® SQL Server ® с помощью инструкции SQL, подготовленной при соединении с базой данных JDBC. Используйте SELECT SQL- оператора в цикле, чтобы выполнить один и тот же SQL-запрос для нескольких значений. Импортируйте данные из базы данных и отобразите результаты.

Оператор, подготовленный SQL, является функцией базы данных, которая позволяет неоднократно выполнять один и тот же оператор SQL с высокой эффективностью. Когда вы задаете подготовленный SQL оператор и привязываете значения к параметрам, база данных завершает следующие действия:

  • Создайте шаблон оператора SQL с параметрами.

  • Анализ, компиляция и выполнение оптимизации запросов на шаблоне SQL оператора и хранение результатов без выполнения.

  • Привязка значений к параметрам и выполнение оператора SQL. (Приложение может выполнять оператор столько раз, сколько задано с различными значениями.)

Преимущества использования SQL подготовленных операторов включают улучшенную производительность и безопасности.

Можно выполнять подготовленные операторы SQL, используя только соединение с базой данных JDBC.

Подключение к базе данных

Создайте соединение базы данных JDBC с базой данных SQL Server с помощью проверки подлинности Windows ®. Укажите пустые имя пользователя и пароль .

datasource = "MSSQLServerJDBCAuth";
conn = database(datasource,'','');

Создание подготовленных Операторов SQL

Создайте оператора SQL для импорта данных из базы данных SQL Server с помощью подключения к базе данных JDBC. Вопросительные знаки в SELECT SQL- оператора указывает, что это подготовленный SQL- оператора. Этот оператор выбирает все данные из таблицы базы данных productTable для заданных описаний продуктов.

query = strcat("SELECT * FROM productTable ", ...
    "WHERE productDescription = ?");
pstmt = databasePreparedStatement(conn,query);

Привязка нескольких значений и выполнение оператора SQL Prepared

Выберите один параметр в SQL- оператора, подготовленном с помощью его числового индекса. Задайте значения, которые нужно связать как строковые массивы, содержащий три описания продукта: train, комплект двигателей и slinky.

selection = [1];
values = ["Train Set" "Engine Kit" "Slinky"];

Привязка значений параметров в подготовленных SQL оператора. Использование for цикл, связать значения для каждого описания продукта и импортировать данные из базы данных с помощью связанных значений параметров. Результаты содержат таблицу с тремя строками данных для продуктов с указанными описаниями продуктов.

for i = 1:3
    pstmt = bindParamValues(pstmt,selection,values(i));
    results(i,:) = fetch(conn,pstmt);
end
results
results=3×5 table
    productNumber    stockNumber    supplierNumber    unitCost    productDescription
    _____________    ___________    ______________    ________    __________________

          8          2.1257e+05          1001             5         {'Train Set' }  
          7          3.8912e+05          1007            16         {'Engine Kit'}  
          3            4.01e+05          1009            17         {'Slinky'    }  

Закрытие подготовленных SQL- Оператора и подключения к базе данных

close(pstmt)
close(conn)

См. также

| | | | |

Похожие темы