1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
use sql;
DATABASE ReturningTest {
TABLE returnTest(
id INTEGER PRIMARY KEY,
a INTEGER,
b TEXT,
e TEXT DEFAULT "abc");
}
void returning() {
MariaDB db(Host:local(), null, null, "test");
// SQLite db;
ReturningTest r(db);
WITH r {
Int key = 20;
Str newVal = "updated";
INSERT INTO returnTest(a, b) VALUES (key, "c");
if (row = INSERT INTO returnTest(a, b) VALUES (key, "d") RETURNING *) {
print("Insert: ${row}");
}
for (row in UPDATE returnTest SET b = newVal WHERE a = key RETURNING *) {
print("Update: ${row}");
}
for (row in DELETE FROM returnTest WHERE a = key RETURNING *) {
print("Delete: ${row}");
}
}
// WITH db: INSERT INTO test(b, d) VALUES (20, "a");
// for (row in WITH db: DELETE FROM test WHERE b = 20 RETURNING *) {
// print(row.toS);
// }
}
|