Откатывайте данные в базе данных Используя собственный интерфейс PostgreSQL

В этом примере показано, как соединиться с базой данных, вставьте строку в существующую таблицу базы данных и откатывайте вставку с помощью собственного интерфейса PostgreSQL. Пример использует базу данных версии 9.405 базы данных PostgreSQL и libpq версию драйвера 10.12. База данных содержит таблицу productTable.

Создайте соединение с базой данных

Создайте собственное соединение с базой данных интерфейса PostgreSQL к базе данных PostgreSQL с помощью имени источника данных, имени пользователя и пароля.

datasource = "PostgreSQLDataSource";
username = "dbdev";
password = "matlab";
conn = postgresql(datasource,username,password);

Добавьте данные к существующей таблице базы данных

Установите AutoCommit свойство connection возразите против off. Любые обновления, которые вы делаете после выключения этого флага, не соглашаются на базу данных автоматически.

conn.AutoCommit = "off";

Просмотреть существующую таблицу базы данных productTable прежде, чем добавить данные, импортируйте его содержимое в MATLAB® и отобразите последние несколько строк.

tablename = "productTable";
rows = sqlread(conn,tablename);
tail(rows,3)
ans=3×5 table
    productnumber    stocknumber    suppliernumber    unitcost    productdescription
    _____________    ___________    ______________    ________    __________________

          6          4.0088e+05          1004             8          "Sail Boat"    
          3            4.01e+05          1009            17          "Slinky"       
         10          8.8865e+05          1006            24          "Teddy Bear"   

Составьте таблицу MATLAB, которая содержит данные для одного продукта.

data = table(30,500000,1000,25,"Rubik's Cube", ...
    'VariableNames',["productnumber" "stocknumber" ...
    "suppliernumber" "unitcost" "productdescription"]);

Добавьте данные о продукте в таблицу базы данных productTable.

sqlwrite(conn,tablename,data)

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

rows = sqlread(conn,tablename);
tail(rows,4)
ans=4×5 table
    productnumber    stocknumber    suppliernumber    unitcost    productdescription
    _____________    ___________    ______________    ________    __________________

          6          4.0088e+05          1004             8         "Sail Boat"     
          3            4.01e+05          1009            17         "Slinky"        
         10          8.8865e+05          1006            24         "Teddy Bear"    
         30               5e+05          1000            25         "Rubik's Cube"  

Откатывайте данные

Откатывайте вставленную строку.

rollback(conn)

Импортируйте содержимое таблицы базы данных в MATLAB снова и отобразите последние несколько строк. Результаты больше не содержат вставленную строку.

rows = sqlread(conn,tablename);
tail(rows,3)
ans=3×5 table
    productnumber    stocknumber    suppliernumber    unitcost    productdescription
    _____________    ___________    ______________    ________    __________________

          6          4.0088e+05          1004             8          "Sail Boat"    
          3            4.01e+05          1009            17          "Slinky"       
         10          8.8865e+05          1006            24          "Teddy Bear"   

Закройте соединение с базой данных

close(conn)

Смотрите также

| | | |

Похожие темы