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: June 12, 2023