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

Image 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

Image 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.

Image Directories

Path Synopsis
examples
cli command
simple command

Jump to

Keyboard shortcuts

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