Nejsem si jistý, že je to vůbec možné. Určitě byste potřebovali hluboké znalosti syntaxe SQL vašeho cílového DBMS. Například z hlavy je jeden jediný příkaz MySQL:
INSERT INTO things
SELECT * FROM otherthings ON DUPLICATE KEY
UPDATE thingness=thingness+1
Je pravděpodobné, že v některých DBMS existují konstrukce, které by bez oddělovače mohly být nejednoznačné.
Myslím, že k tomu můžete být nuceni. Je to zcela standardní způsob oddělování příkazů SQL. I když můžete najít heuristiku k detekci bodů pravděpodobně-počátek-příkazu SQL, riskujete katastrofy, jako je náhodné „VYMAZAT Z věcí“ bez klauzule WHERE.
Byl by přijatelný příkaz double-newline-for-new-?
Ne, dokonce s středník, regulární výraz není dostatečně výkonný na to, aby analyzoval SQL. Problémové body by zahrnovaly:
';'
";"
`;`
'\';'
''';'
-- ;
#;
/*;*/
a jakékoli vložení těchto struktur. Eek!