What is Dynamic SQL?
Build SQL as text, then execute it.
Example
SET @table = 'students';
SET @query = 'SELECT * FROM ' || @table;
EXECUTE @query;When to Use
- Table name changes at runtime
- Dynamic column names
- Flexible search conditions
Warning: SQL Injection
Never put user input directly in queries!
-- DANGEROUS
SET @query = 'SELECT * FROM users WHERE name = ' || user_input;
-- SAFE: Use parameterized queries insteadSummary
- Build queries as strings
- Execute with EXECUTE
- Always validate inputs
- Avoid SQL injection risks