sqlss

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2023 License: MIT Imports: 1 Imported by: 1

README

sqlss

PkgGoDev

Split SQL into statements.

Do not split within single quotes, double quotes, or back quotes. It also doesn't break at semicolons in comments.

Usage

package main

import (
	"fmt"

	"github.com/noborus/sqlss"
)

func main() {
	queries := sqlss.SplitQueries("SELECT * FROM table1;SELECT * FROM table2;")
	for _, query := range queries {
		fmt.Println(query)
	}
}

// Output:
// SELECT * FROM table1
// SELECT * FROM table2

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func SplitQueries

func SplitQueries(sql string) []string

SplitQueries splits a string of semicolon-separated SQL queries into individual queries. It does not split semicolons that are within single quotes, double quotes, back quotes or escaped by two single quotes.

Example
package main

import (
	"fmt"

	"github.com/noborus/sqlss"
)

func main() {
	sql := `UPDATE users SET name='Bob' WHERE id=1;SELECT * FROM users;`
	queries := sqlss.SplitQueries(sql)
	for _, query := range queries {
		fmt.Println(query)
	}
}
Output:

UPDATE users SET name='Bob' WHERE id=1
SELECT * FROM users
Example (Second)
package main

import (
	"fmt"

	"github.com/noborus/sqlss"
)

func main() {
	sql := `SELECT 'O''Reilly' ; SELECT 2;`
	queries := sqlss.SplitQueries(sql)
	for _, query := range queries {
		fmt.Println(query)
	}
}
Output:

SELECT 'O''Reilly'
SELECT 2

Types

This section is empty.

Directories

Path Synopsis
examples
cli

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL