surql
The surql tagged template function creates parameterized SurrealQL queries with automatic value binding and SQL injection prevention.
Import:
Source: utils/tagged-template.ts
Function Signature
Parameters
| Parameter | Type | Description |
|---|---|---|
strings | TemplateStringsArray | Template string segments. |
values | unknown[] | Interpolated values (automatically bound as parameters). |
Returns
BoundQuery - Parameterized query with automatic bindings
How It Works
The surql template automatically:
Extracts interpolated values
Generates unique parameter names
Replaces values with parameter references
Returns a
BoundQuerywith query string and bindings
Basic Examples
Simple Parameterized Query
Multiple Parameters
With Value Types
Advanced Examples
Dynamic Query Building
Multi-Statement Queries
Combining with Expressions
Inserting Arrays
Graph Traversal
Conditional Updates
Variable Definition
Batch Operations
SQL Injection Prevention
The surql template prevents SQL injection by automatically parameterizing all values:
Best Practices
1. Always Use surql for User Input
2. Use for Complex Queries
3. Leverage Type System
4. Build Queries Incrementally
Common Pitfalls
1. Identifier Interpolation
2. Field Names
See Also
BoundQuery - Parameterized query class
expr - Expression builder
Query - Executing queries
SurrealQueryable.query() - Query method