В этом примере показано, как импортировать данные из базы данных 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 Server с помощью подключения к базе данных JDBC. Вопросительные знаки в SELECT
SQL- оператора указывает, что это подготовленный SQL- оператора. Этот оператор выбирает все данные из таблицы базы данных productTable
для заданных описаний продуктов.
query = strcat("SELECT * FROM productTable ", ... "WHERE productDescription = ?"); pstmt = databasePreparedStatement(conn,query);
Выберите один параметр в 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' }
close(pstmt) close(conn)
bindParamValues
| close
| close
| database
| databasePreparedStatement
| fetch