Создать подготовленную инструкцию SQL
создает pstmt = databasePreparedStatement(conn,query)SQLPreparedStatement с использованием подключения к базе данных и SQL-запроса.
Создайте подготовленную инструкцию SQL для импорта данных из базы данных Microsoft ® SQL Server ® с использованием подключения к базе данных JDBC. Используйте SELECT Инструкция SQL для запроса SQL. Импортируйте данные из базы данных и просмотрите результаты.
Создайте подключение базы данных JDBC к базе данных SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль .
datasource = 'MSSQLServerJDBCAuth'; conn = database(datasource,'','');
Создайте инструкцию SQL, подготовленную для импорта данных из базы данных SQL Server с использованием подключения базы данных JDBC. Вопросительные знаки в SELECT Инструкция SQL указывает, что она является подготовленной инструкцией SQL. Этот оператор выбирает все данные из таблицы базы данных inventoryTable для запаса с датой инвентаризации в указанном диапазоне дат.
query = strcat("SELECT * FROM inventoryTable ", ... "WHERE inventoryDate > ? AND inventoryDate < ?"); pstmt = databasePreparedStatement(conn,query)
pstmt =
SQLPreparedStatement with properties:
SQLQuery: "SELECT * FROM inventoryTable where inventoryDate > ? AND inventoryDate < ?"
ParameterCount: 2
ParameterTypes: ["string" "string"]
ParameterValues: {[] []}
pstmt является SQLPreparedStatement объект со следующими свойствами:
SQLQuery - Запрос подготовленной инструкции SQL
ParameterCount - Счетчик параметров
ParameterTypes - Типы параметров
ParameterValues - Значения параметров
Привязка значений параметров в подготовленной инструкции SQL. Выберите оба параметра в подготовленной инструкции SQL, используя их числовые индексы. Укажите значения для привязки в качестве диапазона дат запасов между 1 января 2014 года и 31 декабря 2014 года. Сопоставление формата дат в базе данных. bindParamValues функция обновляет значения в ParameterValues имущества pstmt объект.
selection = [1 2];
values = {"2014-01-01 00:00:00.000", ...
"2014-12-31 00:00:00.000"};
pstmt = bindParamValues(pstmt,selection,values)pstmt =
SQLPreparedStatement with properties:
SQLQuery: "SELECT * FROM inventoryTable where inventoryDate > ? AND inventoryDate < ?"
ParameterCount: 2
ParameterTypes: ["string" "string"]
ParameterValues: {["2014-01-01 00:00:00.000"] ["2014-12-31 00:00:00.000"]}
Импорт данных из базы данных с помощью fetch функции и связанных значений параметров. Результаты содержат четыре строки данных, которые представляют все запасы с датой инвентаризации в период с 1 января 2014 года по 31 декабря 2014 года.
results = fetch(conn,pstmt)
results=4×4 table
productNumber Quantity Price inventoryDate
_____________ ________ _____ _______________________
1 1700 14.5 {'2014-09-23 09:38:34'}
2 1200 9 {'2014-07-08 22:50:45'}
3 356 17 {'2014-05-14 07:14:28'}
7 6034 16 {'2014-08-06 08:38:00'}
Закройте подготовленную инструкцию SQL и подключение к базе данных.
close(pstmt) close(conn)
Создайте инструкцию SQL, подготовленную для вставки данных из MATLAB ® в базу данных Microsoft ® SQL Server ® с использованием подключения к базе данных JDBC. Используйте INSERT Инструкция SQL для запроса SQL. Выполните подготовленную инструкцию SQL и просмотрите результаты.
Создайте подключение базы данных JDBC к базе данных SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль .
datasource = 'MSSQLServerJDBCAuth'; conn = database(datasource,'','');
Импорт данных из базы данных с помощью sqlread функция. Отображение последних нескольких строк данных в таблице базы данных inventoryTable.
tablename = "inventoryTable";
data = sqlread(conn,tablename);
tail(data,3)ans=3×4 table
productNumber Quantity Price inventoryDate
_____________ ________ _____ _______________________
11 567 0 {'2012-09-11 00:30:24'}
12 1278 0 {'2010-10-29 18:17:47'}
13 1700 14.5 {'2009-05-24 10:58:59'}
Создайте инструкцию SQL, подготовленную для вставки данных с помощью подключения к базе данных JDBC. Вопросительные знаки в INSERT Инструкция SQL указывает, что она является подготовленной инструкцией SQL. Эта инструкция вставляет данные из MATLAB в таблицу базы данных inventoryTable.
query = "INSERT INTO inventoryTable VALUES(?,?,?,?)";
pstmt = databasePreparedStatement(conn,query)pstmt =
SQLPreparedStatement with properties:
SQLQuery: "INSERT INTO inventoryTable values(?,?,?,?)"
ParameterCount: 4
ParameterTypes: ["numeric" "numeric" "numeric" "string"]
ParameterValues: {[] [] [] []}
pstmt является SQLPreparedStatement объект со следующими свойствами:
SQLQuery - Запрос подготовленной инструкции SQL
ParameterCount - Счетчик параметров
ParameterTypes - Типы параметров
ParameterValues - Значения параметров
Привязка значений параметров в подготовленной инструкции SQL. Выберите все параметры в подготовленной инструкции SQL, используя их числовые индексы. Укажите значения для привязки к номеру продукта, количеству, цене и дате инвентаризации. Сопоставление формата дат в базе данных. bindParamValues функция обновляет значения в ParameterValues имущества pstmt объект.
selection = [1 2 3 4];
values = {20,1000,55,"2019-04-25 00:00:00.000"};
pstmt = bindParamValues(pstmt,selection,values)pstmt =
SQLPreparedStatement with properties:
SQLQuery: "INSERT INTO inventoryTable values(?,?,?,?)"
ParameterCount: 4
ParameterTypes: ["numeric" "numeric" "numeric" "string"]
ParameterValues: {[20] [1000] [55] ["2019-04-25 00:00:00.000"]}
Вставка данных из MATLAB в базу данных с использованием связанных значений параметров. Выполнение SQL INSERT оператор с использованием execute функция.
execute(conn,pstmt)
Отображение вставленных данных в таблице базы данных inventoryTable. Последняя строка таблицы содержит вставленные данные.
tablename = "inventoryTable";
data = sqlread(conn,tablename);
tail(data,4)ans=4×4 table
productNumber Quantity Price inventoryDate
_____________ ________ _____ ___________________________
11 567 0 {'2012-09-11 00:30:24' }
12 1278 0 {'2010-10-29 18:17:47' }
13 1700 14.5 {'2009-05-24 10:58:59' }
20 1000 55 {'2019-04-25 00:00:00.000'}
Закройте подготовленную инструкцию SQL и подключение к базе данных.
close(pstmt) close(conn)
Создайте подготовленную инструкцию SQL для обновления данных в базе данных Microsoft ® SQL Server ® с использованием подключения к базе данных JDBC. Используйте UPDATE Инструкция SQL для запроса SQL. Выполните подготовленную инструкцию SQL и просмотрите результаты.
Создайте подключение базы данных JDBC к базе данных SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль .
datasource = 'MSSQLServerJDBCAuth'; conn = database(datasource,'','');
Импорт данных из базы данных с помощью sqlread функция. Отображение первых нескольких строк данных в таблице базы данных inventoryTable.
tablename = "inventoryTable";
data = sqlread(conn,tablename);
head(data,3)ans=3×4 table
productNumber Quantity Price inventoryDate
_____________ ________ _____ _______________________
1 1700 14.5 {'2014-09-23 09:38:34'}
2 1200 9 {'2014-07-08 22:50:45'}
3 356 17 {'2014-05-14 07:14:28'}
Создайте инструкцию SQL, подготовленную для обновления данных с помощью подключения к базе данных JDBC. Вопросительные знаки в UPDATE Инструкция SQL указывает, что она является подготовленной инструкцией SQL. Эта инструкция обновляет данные в таблице базы данных inventoryTable.
query = strcat("UPDATE inventoryTable SET Quantity = ? ", ... "WHERE productNumber = ?"); pstmt = databasePreparedStatement(conn,query)
pstmt =
SQLPreparedStatement with properties:
SQLQuery: "UPDATE inventoryTable SET Quantity = ? WHERE productNumber = ?"
ParameterCount: 2
ParameterTypes: ["numeric" "numeric"]
ParameterValues: {[] []}
pstmt является SQLPreparedStatement объект со следующими свойствами:
SQLQuery - Запрос подготовленной инструкции SQL
ParameterCount - Счетчик параметров
ParameterTypes - Типы параметров
ParameterValues - Значения параметров
Привязка значений параметров в подготовленной инструкции SQL. Выберите все параметры в подготовленной инструкции SQL, используя их числовые индексы. Укажите значения для привязки количества и номера продукта. bindParamValues функция обновляет значения в ParameterValues имущества pstmt объект.
selection = [1 2];
values = {2000,1};
pstmt = bindParamValues(pstmt,selection,values)pstmt =
SQLPreparedStatement with properties:
SQLQuery: "UPDATE inventoryTable SET Quantity = ? WHERE productNumber = ?"
ParameterCount: 2
ParameterTypes: ["numeric" "numeric"]
ParameterValues: {[2000] [1]}
Обновление данных в базе данных с использованием связанных значений параметров. Выполнение SQL UPDATE оператор с использованием execute функция.
execute(conn,pstmt)
Отображение обновленных данных в таблице базы данных inventoryTable. Первая строка таблицы содержит обновленное количество.
tablename = "inventoryTable";
data = sqlread(conn,tablename);
head(data,3)ans=3×4 table
productNumber Quantity Price inventoryDate
_____________ ________ _____ _______________________
1 2000 14.5 {'2014-09-23 09:38:34'}
2 1200 9 {'2014-07-08 22:50:45'}
3 356 17 {'2014-05-14 07:14:28'}
Закройте подготовленную инструкцию SQL и подключение к базе данных.
close(pstmt) close(conn)
Создайте инструкцию SQL, подготовленную для удаления данных в базе данных Microsoft ® SQL Server ® с помощью подключения к базе данных JDBC. Используйте DELETE Инструкция SQL для запроса SQL. Выполните подготовленную инструкцию SQL и просмотрите результаты.
Создайте подключение базы данных JDBC к базе данных SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль .
datasource = 'MSSQLServerJDBCAuth'; conn = database(datasource,'','');
Импорт данных из базы данных с помощью sqlread функция. Отображение строк данных в таблице базы данных productTable. Данные содержат строки для номеров продуктов. 16 через 20, который будет удален позже в этом примере.
tablename = "productTable";
data = sqlread(conn,tablename)data=15×5 table
productNumber stockNumber supplierNumber unitCost productDescription
_____________ ___________ ______________ ________ ___________________
9 1.2597e+05 1003 13 {'Victorian Doll' }
8 2.1257e+05 1001 5 {'Train Set' }
7 3.8912e+05 1007 16 {'Engine Kit' }
2 4.0031e+05 1002 9 {'Painting Set' }
4 4.0034e+05 1008 21 {'Space Cruiser' }
1 4.0035e+05 1001 14 {'Building Blocks'}
5 4.0046e+05 1005 3 {'Tin Soldier' }
6 4.0088e+05 1004 8 {'Sail Boat' }
3 4.01e+05 1009 17 {'Slinky' }
10 8.8865e+05 1006 24 {'Teddy Bear' }
16 5.6789e+05 1001 10 {'Magnetic Links' }
17 5.688e+05 1002 15 {'Hot Rod' }
18 5.679e+05 1003 20 {'Doll House' }
19 5.7761e+05 1004 25 {'Plush Monkey' }
20 5.0034e+05 1005 30 {'Kitchen Set' }
Создайте инструкцию SQL, подготовленную для удаления данных с помощью подключения к базе данных JDBC. Вопросительные знаки в DELETE Инструкция SQL указывает, что она является подготовленной инструкцией SQL. Эта инструкция удаляет данные из таблицы базы данных productTable для указанного диапазона номеров продуктов.
query = strcat("DELETE FROM productTable ", ... "WHERE productNumber > ? AND productNumber < ?"); pstmt = databasePreparedStatement(conn,query)
pstmt =
SQLPreparedStatement with properties:
SQLQuery: "DELETE FROM productTable WHERE productNumber > ? AND productNumber < ?"
ParameterCount: 2
ParameterTypes: ["numeric" "numeric"]
ParameterValues: {[] []}
pstmt является SQLPreparedStatement объект со следующими свойствами:
SQLQuery - Запрос подготовленной инструкции SQL
ParameterCount - Счетчик параметров
ParameterTypes - Типы параметров
ParameterValues - Значения параметров
Привязка значений параметров в подготовленной инструкции SQL. Выберите все параметры в подготовленной инструкции SQL, используя их числовые индексы. Укажите значения для привязки для диапазона номеров продуктов от 15 до 21 (эксклюзивно). bindParamValues функция обновляет значения в ParameterValues имущества pstmt объект.
selection = [1 2];
values = {15,21};
pstmt = bindParamValues(pstmt,selection,values)pstmt =
SQLPreparedStatement with properties:
SQLQuery: "DELETE FROM productTable WHERE productNumber > ? AND productNumber < ?"
ParameterCount: 2
ParameterTypes: ["numeric" "numeric"]
ParameterValues: {[15] [21]}
Удалите данные в базе данных с помощью связанных значений параметров. Выполнение SQL DELETE оператор с использованием execute функция.
execute(conn,pstmt)
Отображение данных в таблице базы данных productTable. Строки с номерами продуктов 16 через 20 больше не находятся в таблице.
tablename = "productTable";
data = sqlread(conn,tablename)data=10×5 table
productNumber stockNumber supplierNumber unitCost productDescription
_____________ ___________ ______________ ________ ___________________
9 1.2597e+05 1003 13 {'Victorian Doll' }
8 2.1257e+05 1001 5 {'Train Set' }
7 3.8912e+05 1007 16 {'Engine Kit' }
2 4.0031e+05 1002 9 {'Painting Set' }
4 4.0034e+05 1008 21 {'Space Cruiser' }
1 4.0035e+05 1001 14 {'Building Blocks'}
5 4.0046e+05 1005 3 {'Tin Soldier' }
6 4.0088e+05 1004 8 {'Sail Boat' }
3 4.01e+05 1009 17 {'Slinky' }
10 8.8865e+05 1006 24 {'Teddy Bear' }
Закройте подготовленную инструкцию SQL и подключение к базе данных.
close(pstmt) close(conn)
Создайте подготовленную инструкцию SQL для вызова хранимой процедуры в базе данных Microsoft ® SQL Server ® с использованием подключения к базе данных JDBC. Используйте CALL Инструкция SQL для запроса SQL. Выполните подготовленную инструкцию SQL и просмотрите результаты.
В этом примере база данных SQL Server содержит хранимую процедуру getSupplierInfo, которая возвращает информацию для поставщиков в указанном городе. Этот код определяет процедуру.
CREATE PROCEDURE dbo.getSupplierInfo
(@cityName varchar(20))
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result
-- sets from interfering with SELECT statements.
SET NOCOUNT ON
SELECT * FROM dbo.suppliers WHERE City = @cityName
END
Для SQL Server оператор SET NOCOUNT ON подавляет результаты INSERT, UPDATE, и не -SELECT заявления, предшествующие окончательному SELECT , чтобы можно было импортировать результаты SELECT запрос.
Создайте подключение базы данных JDBC к базе данных SQL Server с проверкой подлинности Windows ®. Укажите пустое имя пользователя и пароль .
datasource = "MSSQLServerJDBCAuth"; conn = database(datasource,'','');
Создайте инструкцию SQL, подготовленную для вызова хранимой процедуры с помощью подключения базы данных JDBC. Вопросительные знаки в CALL Инструкция SQL указывает, что она является подготовленной инструкцией SQL. Этот оператор вызывает getSupplierInfo хранимая процедура в базе данных.
query = "{CALL dbo.getSupplierInfo(?)}";
pstmt = databasePreparedStatement(conn,query)pstmt =
SQLPreparedStatement with properties:
SQLQuery: "{CALL dbo.getSupplierInfo(?)}"
ParameterCount: 1
ParameterTypes: "string"
ParameterValues: {[]}
pstmt является SQLPreparedStatement объект со следующими свойствами:
SQLQuery - Запрос подготовленной инструкции SQL
ParameterCount - Счетчик параметров
ParameterTypes - Типы параметров
ParameterValues - Значения параметров
Привязка значений параметров в подготовленной инструкции SQL. Выберите параметр в подготовленной инструкции SQL, используя его числовой индекс. Укажите значение для привязки в качестве города New York. bindParamValues функция обновляет значения в ParameterValues имущества pstmt объект.
selection = [1];
values = "New York";
pstmt = bindParamValues(pstmt,selection,values)pstmt =
SQLPreparedStatement with properties:
SQLQuery: "{CALL dbo.getSupplierInfo(?)}"
ParameterCount: 1
ParameterTypes: "string"
ParameterValues: {["New York"]}
Отображение результатов хранимой процедуры. Выполнение SQL CALL оператор с использованием fetch функция. Подготовленная инструкция SQL возвращает всю информацию для поставщиков, расположенных в Нью-Йорке.
results = fetch(conn,pstmt)
results=2×5 table
SupplierNumber SupplierName City Country FaxNumber
______________ ____________________ ____________ _________________ ________________
1001 {'Wonder Products' } {'New York'} {'United States'} {'212 435 1617'}
1006 {'ACME Toy Company'} {'New York'} {'United States'} {'212 435 1618'}
Закройте подготовленную инструкцию SQL и подключение к базе данных.
close(pstmt) close(conn)
conn - Подключение к базе данныхconnection объектПодключение к базе данных, указанное как connection объект, созданный с помощью database функция.
Примечание
databasePreparedStatement поддерживает только подключение к базе данных JDBC.
query - подготовленная инструкция SQLSQL подготовил запрос инструкции, указанный как вектор символов или строковый скаляр, содержащий одну из следующих инструкций SQL:
SELECT
INSERT
UPDATE
DELETE
CALL
Пример: "SELECT * FROM inventoryTable WHERE inventoryDate > ? AND inventoryDate < ?" выбирает все данные из таблицы базы данных inventoryTable с датой инвентаризации между двумя параметрами.
Пример: "INSERT INTO inventoryTable VALUES(?,?,?,?)" вставляет данные в таблицу базы данных inventoryTable на основе параметров для четырех столбцов базы данных.
Типы данных: char | string
pstmt - подготовленная инструкция SQLSQLPreparedStatement объектПодготовленная инструкция SQL, возвращенная как SQLPreparedStatement объект.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.