Important
Self-managed SingleStore will soon transition from version 9.1 RC to version 10. This new semantic versioning scheme will provide SingleStore with finer control over engine and feature releases that were not possible with the current versioning scheme.
In the interim, SingleStore 9.1 RC can be used to preview, evaluate, and provide feedback on the new and upcoming features in SingleStore 10 prior to its general availability. Ahead of this transition, SingleStore 9.0 is recommended for production workloads, which can later be upgraded to SingleStore 10.
Dynamic SQL
Dynamic queries give you the most flexibility in defining SQL statements.
Before proceeding to the rest of this section, see Static Parameterized SQL to understand how static parameterized queries work.
Using PSQL variables, you can substitute strings anywhere at run time.SELECT id, name FROM customer ORDER BY <column name> is built dynamically using a string.
SET sql_mode = 'PIPES_AS_CONCAT';DROP DATABASE IF EXISTS singlestore_docs_example;CREATE DATABASE singlestore_docs_example;use singlestore_docs_example;CREATE TABLE product(id INT, description TEXT);INSERT INTO product VALUES (1, 'white paper'), (2, 'blue pen'),(3, 'black pen');DELIMITER //CREATE PROCEDURE get_product_data(col TEXT) ASDECLAREstr TEXT;BEGINstr = 'ECHO SELECT id, description FROM product ORDER BY ' || col;EXECUTE IMMEDIATE str;END//DELIMITER ;CALL get_product_data('description');
Output:
+------+-------------+
| id | description |
+------+-------------+
| 3 | black pen |
| 2 | blue pen |
| 1 | white paper |
+------+-------------+More examples of dynamic queries are shown below.
SELECT <column name> FROM location`
INSERT INTO <table name> (id) VALUES (1),(2),(3)
With dynamic queries, you’re not limited to using PSQL variables that represent column and table names.WHERE clause:
SELECT id, name FROM part <WHERE clause>
You can also substitute a PSQL variable for a SELECT statement:
SELECT <rest of SELECT statement>
In this section
Last modified: