Jeg er ikke sikker på, at det overhovedet er muligt. Du har helt sikkert brug for et indgående kendskab til SQL-syntaksen for dit mål-DBMS. For eksempel lige fra toppen af mit hoved er dette en enkelt MySQL-sætning:
INSERT INTO things
SELECT * FROM otherthings ON DUPLICATE KEY
UPDATE thingness=thingness+1
Det er sandsynligt, at der er konstruktioner i nogle DBMS'er, som uden afgrænsning kan være tvetydige.
Jeg tror, du kan blive tvunget til det. Det er fuldstændig standardmåden at afgrænse SQL-sætninger. Selvom du kan finde en heuristik til at detektere sandsynligvis-start-af-SQL-sætningspunkter, risikerer du katastrofer som en utilsigtet "DELETE FROM things"-uden-WHERE-klausul.
Ville dobbelt-ny linje-for-ny-udsagn være acceptabelt?
Nej, selv med semikolon-afgrænsninger, regex er langt fra kraftfuldt nok til at parse SQL. Problempunkter ville omfatte:
';'
";"
`;`
'\';'
''';'
-- ;
#;
/*;*/
og enhver interposition af disse strukturer. Æk!