Hvorda ændres hundredevis af SQL sætninger fra MSSQL til MySQL
Jeg står overfor at skulle have hundredevis af scripts(Perl), der anvender MSSQL til at kunne fungere med MySQL.Jeg bruger primært SELECT, INSERT og UPDATE. Altså ikke så mange andre finurlige funktioner.
Det største problem er jo forskel på de specialtegn der bruges omkring tabel navne m.v. i SQL udtryk.
FX:
MSSQL: SELECT [felt med langt navn] FROM [tabel med langt navn]
MySQL: SELECT `felt med langt navn` FROM `tabel med langt navn`
Jeg vil egentlig høre om man kan få værktøjer til at være bindeled, så alle scripts ikke skal ændres.
Eller skal man ud i noget regex ala:
$sql =~ s/\[(.*?)]/`$1`/g;
Man kan selvfølgelig også køre alt regex på run-time tidspunktet, men jeg ser jo hurtigt problemer med dette udtryk:
SELECT felt1 FROM [tabel med langt navn] WHERE felt1 LIKE '%Nisser har en [nissehue] på!%'
Det bliver jo så til:
SELECT felt1 FROM [tabel med langt navn] WHERE felt1 LIKE '%Nisser har en `nissehue` på!%'
Og, det er jo IKKE det jeg ville søge efter...!
Eller kan man evt. indstille MySQL til at bruge nogle anderledes felt-markerings tegn end den plejer?
