PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL Syntax überprüfen


MisterOlex
14.11.2007, 12:48
hey

ich versuche folgenden sql befehl mit regulären ausdrücken auf die richtigkeit der sysntax zu überprüfen:

ALTER TABLE TabName ADD ColName Data-Type
meine Idee ->
^alter table{1} [a-z0-9]*{1} add{1} ([a-z0-9]*{1} ((integer|string){1})+)

wenn ich nun folgenden sql befehl eingebe bekomme ich allerdings keinen treffer: alter table vs add name string


BrudaSwen
15.11.2007, 18:33
Den Sinn Deiner {1} verstehe ich nicht wirklich, denn diese beziehen sich nur auf ein Zeichen. Teste mal folgendes:
ALTER TABLE [a-z0-9]+ ADD [a-z0-9]+ (integer|string)

Manni the Dark
16.11.2007, 14:19
Ich würde als Charakterklasse für die Namen lieber gleich \w nehmen. Schließlich sind Unterstriche oder Großbuchstaben auch erlaubt. Und die typenlisten ist bei weitem nicht vollständig. Die Leerzeichen würde ich durch \s+ ersetzen, schließlich kann man auch Tabs oder Zeilenumbrüche verwenden. Bei MySQL können die Namen zudem noch in Backticks stehen (``). Sprich du brauchst sowas wie (\w+|`\w+`).

Jan Krüger
18.11.2007, 16:59
Bei MySQL, ja, aber das ist dann ja kein SQL. ;) Ein vollständiger regulärer Ausdruck für SQL-Statements ist sowieso nicht möglich (außer mit Perl-Erweiterungen o.ä.), weil SQL keine reguläre Sprache ist.