Skip to content

Commit e7fb880

Browse files
committed
Add documentation about Parameterized queries
1 parent 658c113 commit e7fb880

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

docs/source/statements/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@
66
prepared.md
77
unprepared.md
88
batch.md
9+
parameterized-queries.md
910
```
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
<!-- This document is heavily based on the DSx driver documentation:
2+
https://docs.datastax.com/en/developer/nodejs-driver/4.8/features/parameterized-queries/index.html -->
3+
4+
# Parameterized queries
5+
6+
You can bind the values of parameters in a statement either by _position_ or by using _named_ markers.
7+
8+
## Positional parameterized statements
9+
10+
When using positional parameters, the query parameters must be provided as an Array.
11+
12+
```javascript
13+
const statement = 'INSERT INTO artists (id, name) VALUES (?, ?)';
14+
// Parameters by marker position
15+
const params = ['krichards', 'Keith Richards'];
16+
await client.execute(statement, params, { prepare: true });
17+
```
18+
19+
## Named parameterized statements
20+
21+
You declare the named markers in your queries and use JavaScript object properties to define the parameters, with
22+
the `Object` property names matching the parameter names.
23+
24+
```javascript
25+
const statement = 'INSERT INTO artists (id, name) VALUES (:id, :name)';
26+
// Parameters by marker name
27+
const params = { id: 'krichards', name: 'Keith Richards' };
28+
await client.execute(statement, params, { prepare: true });
29+
```
30+
31+
Named parameters are case-insensitive.
32+
33+
Currently named parameters are supported only in prepared statements.

0 commit comments

Comments
 (0)