Ik weet niet zeker of dit überhaupt mogelijk is. U hebt zeker een grondige kennis van de SQL-syntaxis van uw doel-DBMS nodig. Dit is bijvoorbeeld zo uit mijn hoofd een enkele MySQL-statement:
INSERT INTO things
SELECT * FROM otherthings ON DUPLICATE KEY
UPDATE thingness=thingness+1
Het is waarschijnlijk dat er constructies in sommige DBMS'en zijn die, zonder scheidingsteken, dubbelzinnig zouden kunnen zijn.
Ik denk dat je misschien gedwongen wordt. Het is absoluut de standaardmanier om SQL-instructies af te bakenen. Zelfs als je een heuristiek kunt vinden om waarschijnlijk-begin-van-SQL-instructiepunten te detecteren, riskeer je rampen zoals een onbedoelde "VERWIJDEREN VAN dingen"-zonder-WAAR-clausule.
Zou dubbele-nieuweregel-voor-nieuwe-verklaring acceptabel zijn?
Nee, zelfs met scheidingstekens met puntkomma's, regex is lang niet krachtig genoeg om SQL te ontleden. Probleempunten zijn onder meer:
';'
";"
`;`
'\';'
''';'
-- ;
#;
/*;*/
en eventuele tussenkomst van deze structuren. Eek!