Parametrized SQL queries for PostgreSQL?

12 次查看(过去 30 天)
Hi, I use Database Toolbox to fetch data from a Postgres database.
Is it possible to parametrize SQL query when using fetch?
conn = postgresql(...);
col4 = "foobar";
query = ...
"SELECT s.col1, s.col2, s.col3 " + ...
"FROM mystuff s " + ...
"WHERE s.col4 = '" + col4 + "'";
fetch_opts = databaseImportOptions(conn, query);
results = fetch(conn, query, fetch_opts);
close(conn);
clear conn query fetch_opts;
Is there a way to declare the col4 as a query parameter istead of concatenating the value into query string?

回答(1 个)

Animesh
Animesh 2024-2-15
If you are working with a PostgreSQL server and need to execute parameterized queries using MATLAB's database toolbox, you will find that the default fetch function does not support this directly. However, you can utilize the JDBC driver for PostgreSQL to establish a connection and then create a parameterized query with an SQLPreparedStatement object, which is compatible with a JDBC connection. This method allows you to pass the prepared statement to the fetch function to retrieve your results.
You can refer the following documentation for more information:
PostgreSQL JDBC for Windows:

类别

Help CenterFile Exchange 中查找有关 Database Toolbox 的更多信息

标签

产品


版本

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by