Processing Files with rdm-sql

The rdm-sql tool allows the user to process files that contain valid SQL statements (called "SQL files") in a non-interactive way. This feature is useful when embedding rdm-sql as part of a larger script file, for instance.

You can specify an SQL file as the last command-line argument to rdm-sql. Let's try recreating the bicycle_db database using this method.

Navigate to your working directory and type in the following command from the command-line terminal, replacing <rdm_install_dir> with your own RaimaDB installation directory.

$ rdm-sql <rdm_install_dir>/GettingStarted/examples/sql_bicycle/create.sql

You will see an output like this.

Raima Database Manager SQL command processor Utility 
Raima Database Manager 16.0.4 Build 3660 [8-29-2024] http://www.raima.com/ 
Copyright © 2024, Raima Inc. All rights reserved. 
Creating the BICYCLE_DB database 
Importing data into the BICYCLE_DB database 
 manufacturer... 
 bicycle... 
 done. 

When an SQL file is specified as the last command-line argument, rdm-sql processes the file in a non-interactive manner. The operation completes without displaying the interactive prompt. Errors detected during the file processing will be displayed.

This is the content of create.sql.

 .m
 .m Creating the BICYCLE_DB database
 DROP DATABASE IF EXISTS BICYCLE_DB;
 COMMIT;
 
 CREATE DATABASE BICYCLE_DB EXCLUSIVE;
 .r bicycle_db.sdl
 COMMIT;
 
 .r import.sql
 COMMIT;
 
 CLOSE DATABASE BICYCLE_DB;

The SQL file uses two interface command options, ".m" and ".r". The ".m" option lets rdm-sql display the line that begins with it.

The ".r" option lets you specify an SQL file to be read and processed by rdm-sql. This is the other way to process an SQL file, in addition to specifying the file name as the last command-line argument.

If used directly in the rdm-sql prompt, the ".r" option echoes the statements in the SQL file that were executed. Start rdm-sql in your working directory and type in the following command at the prompt.

rdm-sql --database BICYCLE_DB 
...
rdm-sql: .r <rdm_install_dir>/GettingStarted/examples/sql_bicycle/join_query.sql 

The query stored in the SQL file is displayed, with the prompt showing the file name.

join_query.sql(1): SELECT m.name, b.model, b.type FROM manufacturer m 
join_query.sql(2): LEFT JOIN bicycle b 
join_query.sql(3): ON m.name = b.make; 
NAME | MODEL | TYPE 
--------------------+---------------------+----------- 
Cannondale | Synapse | Road 
Specialized | *NULL* | *NULL* 
Trek | Domane | Road 
Trek | FX | Hybrid 
*** 4 row(s) returned 
rdm-sql: