{"id":44069,"library":"tsparser","title":"TSParser - SQL Statement Parser","description":"TSParser (v1.0.2) is a lightweight SQL parser that splits multi-statement SQL queries into individual statements. Supports MySQL, PostgreSQL, and Microsoft SQL Server. Handles stored procedures, functions, views, and custom delimiters (semicolon for MySQL/PG, GO for MSSQL). Ships TypeScript definitions. Maintained by TeamSQL. A viable alternative to sql-parser or node-sql-parser for multi-statement splitting without full AST support.","status":"active","version":"1.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/TeamSQL/SQL-Statement-Parser","tags":["javascript","sql","parser","multi","statement","split","seperate","statements","mysql","typescript"],"install":[{"cmd":"npm install tsparser","lang":"bash","label":"npm"},{"cmd":"yarn add tsparser","lang":"bash","label":"yarn"},{"cmd":"pnpm add tsparser","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"TSParser is a named export, not default.","wrong":"import TSParser from 'tsparser'","symbol":"TSParser","correct":"import { TSParser } from 'tsparser'"},{"note":"CommonJS destructuring required; exports default is an object with TSParser property.","wrong":"const TSParser = require('tsparser')","symbol":"TSParser","correct":"const { TSParser } = require('tsparser')"},{"note":"TypeScript users should annotate return type for better IDE support.","wrong":"const results = TSParser.parse(query, 'mysql', ';') // missing type","symbol":"results","correct":"const results: string[] = TSParser.parse(query, 'mysql', ';')"}],"quickstart":{"code":"import { TSParser } from 'tsparser';\n\nconst queries = 'SELECT * FROM users;SELECT * FROM orders;';\nconst statements = TSParser.parse(queries, 'mysql', ';');\nstatements.forEach((stmt, i) => {\n  console.log(`Statement ${i+1}: ${stmt}`);\n});","lang":"typescript","description":"Parse a multi-statement MySQL query into an array of individual SQL statements."},"warnings":[{"fix":"Ensure dbType is exactly 'mysql', 'pg', or 'mssql'.","message":"The 'dbType' parameter must be lower-case exactly 'mysql', 'pg', or 'mssql'. Using uppercase like 'MySQL' will throw an error.","severity":"breaking","affected_versions":">=1.0"},{"fix":"Use 'GO' as delimiter for MSSQL.","message":"For MSSQL, the delimiter is 'GO' (case-insensitive in practice, but should be uppercase). Using ';' will not split and may cause syntax error.","severity":"gotcha","affected_versions":">=1.0"},{"fix":"Validate SQL separately if needed.","message":"The parser does not validate SQL syntax; it only splits based on delimiter and context-aware handling of procedures/functions. Invalid SQL will still be split.","severity":"gotcha","affected_versions":">=1.0"}],"env_vars":null,"search_vec":"'altern':51 'ast':68 'custom':35 'definit':45 'delimit':36 'full':67 'function':32 'go':40 'handl':29 'individu':20 'javascript':70 'lightweight':9 'maintain':46 'microsoft':26 'mssql':42 'multi':15,63,73 'multi-stat':14,62 'mysql':23,78 'mysql/pg':39 'node':58 'node-sql-pars':57 'parser':4,11,55,60,72 'postgresql':24 'procedur':31 'queri':18 'semicolon':37 'seper':76 'server':28 'ship':43 'split':13,65,75 'sql':2,10,17,27,54,59,71 'sql-parser':53 'statement':3,16,21,64,74,77 'store':30 'support':22,69 'teamsql':48 'tsparser':1,5 'typescript':44,79 'v1.0.2':6 'viabl':50 'view':33 'without':66","created_at":"2026-06-05T17:02:49.625199+00:00","updated_at":"2026-06-05T17:02:49.625199+00:00","problems":[{"fix":"Use import { TSParser } from 'tsparser'.","cause":"Probably used default import instead of named import.","error":"TSParser.parse is not a function"},{"fix":"Run 'npm install tsparser' and ensure import path is 'tsparser' (case-sensitive).","cause":"Package not installed or import path wrong.","error":"Cannot find module 'tsparser'"},{"fix":"Use 'mysql' instead of 'MySQL'.","cause":"dbType must be lower-case; 'MySQL' is invalid.","error":"Unsupported database type: MySQL"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/TeamSQL/SQL-Statement-Parser#readme","github":"https://github.com/TeamSQL/SQL-Statement-Parser","docs":null,"changelog":null,"pypi":null,"npm":"tsparser","openapi_spec":null,"status_page":null,"smithery":null,"categories":["database"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-05","next_check":"2026-09-03","install_tag":null}}