Этот пример показывает, как соединиться с базой данных, обновить существующую строку данных в базе данных и откатывать обновление. Используйте функцию execute
, чтобы откатывать обновление после выполнения функции update
.
Создайте соединение с базой данных conn
к базе данных Microsoft® Access™. Этот код принимает, что вы соединяетесь с источником данных под названием dbdemo
с пустым именем пользователя и паролем.
conn = database('dbdemo','','');
Эта база данных содержит таблицу inventorytable
, которая содержит эти столбцы:
productnumber
quantity
price
inventorydate
Установите свойство AutoCommit
объекта connection
к 'off'
. Любые обновления, которые вы делаете после выключения этого флага, не соглашаются на базу данных автоматически.
conn.AutoCommit = 'off';
Задайте массив ячеек, содержащий имена столбцов, которые вы обновляете в inventorytable
.
colnames = {'price','inventorydate'};
Задайте таблицу, которая содержит данные для вставки. Обновите цену к 15$ и установите метку времени материально-технических ресурсов на '2014-12-01 08:50:15.000'
.
data = table(15,{'2014-12-01 08:50:15.000'}, ... 'VariableNames',{'price','inventorydate'});
Обновите столбцы price
и inventorydate
в таблице inventorytable
для номера продуктов, равного 1
.
tablename = 'inventorytable'; whereclause = 'WHERE productnumber = 1'; update(conn,tablename,colnames,data,whereclause)
Откатывайте данные для обновления.
sqlquery = 'ROLLBACK';
execute(conn,sqlquery)
Можно передать данные базе данных, заменив SQL-оператор ROLLBACK
на COMMIT
. Можно также откатывать или фиксировать данные после выполнения SQL-оператора INSERT
с помощью функции sqlwrite
.
Закройте соединение с базой данных.
close(conn)