2 releases
0.1.1 | Apr 26, 2022 |
---|---|
0.1.0 | Apr 26, 2022 |
#1269 in Database interfaces
19KB
343 lines
sql_split
Split a string into individual sqlite sql statements.
This package is a library that contains some routines for managing
multiple sql statements in a string. sqlite
silently ignores
multiple statements when it only expects one. The popular
rusqlite
also does
this.
use sql_split::split;
use rusqlite::{Connection, Result};
let conn = Connection::open_in_memory().expect("Can't open db in memory");
let sql = "CREATE TABLE foo (bar text); CREATE TABLE meep (moop text)";
for s in split(sql) {
conn.execute(&s, []).expect("Can't write to the db");
}
In addition to basic sql statement splitting, there are functions to count the number of statements, a short-cutting function that tries to quickly tell you if you have more than one statement, and a short-cutting function that only tries to split out the first n statements.
License: MIT
lib.rs
:
Split a string into individual sqlite sql statements.
This package is a library that contains some routines for managing
multiple sql statements in a string. sqlite
silently ignores
multiple statements when it only expects one. The popular
rusqlite
also does
this.
use sql_split::split;
use rusqlite::{Connection, Result};
let conn = Connection::open_in_memory().expect("Can't open db in memory");
let sql = "CREATE TABLE foo (bar text); CREATE TABLE meep (moop text)";
for s in split(sql) {
conn.execute(&s, []).expect("Can't write to the db");
}
In addition to basic sql statement splitting, there are functions to count the number of statements, a short-cutting function that tries to quickly tell you if you have more than one statement, and a short-cutting function that only tries to split out the first n statements.