How to run large SQL statements on new lines

7 views (last 30 days)
Good afternoon all...
Little questions regarding SQL statements in Matlab. I am currently using 2018 version and have produced a script that connects to a database and extracts data using a simple SQL statement.
I am trying to understand how you can tidy up the script by using larger SQL queries to extract more data by using a new line e.g ...
if true
% %Open the connection string- connect to Database
conn.Open(connection_string1);
SQL = 'select table.leg_no', ...
'from table');
end
This will only work if I place the whole statement on one line. I have tried [] and ().
Eventually I would like to create larger SQL queries that can be stored into variables to use in a GUI.
Really appreciate some help with this..Many thanks :-)
Please note: I am not running with the DataBase Toolbox.

Accepted Answer

Guillaume
Guillaume on 25 Oct 2018
Edited: Guillaume on 25 Oct 2018
Your question is really about how to input a char vector using more than one line:
SQL = ['select table.leg_no ', ...
'from table ', ...
'where table.col1 = 12345'];
See also this
edit: don't forget the spaces as I did originally, matlab won't insert them between each line for you.

More Answers (2)

Dan Howard
Dan Howard on 26 Oct 2018
Many thanks for clearing that up for me. The only problem I seem to be having is that..
1.
if true
% SQL = [['select table.leg_no ', ...
'from table '];
end
This executes the SQl query ok
2.
if true
% SQL = ['select table.leg_no ', ...
'from table ', ...
'where table.col1 = 12345'];
end
This throws an Error which is...
Source: Microsoft OLE DB Provider for SQL Server Description: Invalid column name '12345'.
Error in Database (line 29) myrecordset=conn.Execute(SQL); % execute sql statement
Little confused with this. Does that mean the variable (SQL) wont execute a char vector?

Dan Howard
Dan Howard on 26 Oct 2018
Managed to find the solution.
For the line...
if true
% where table_no = ''1234'''
end
Forgot you have to use double quotes.

Community Treasure Hunt

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

Start Hunting!