Syntaxcheck für SQL-Scripts

Syntaxcheck für SQL-Scripts

am 07.02.2006 12:04:12 von Kai Ruhnau

Hi,

Gibt es eine Möglichkeit (die ich dann wohl übersehen habe), ein
SQL-Script auf Syntax-Fehler zu untersuchen, bevor es an den
MySQL-Client geht?

Ich habe recht häufig das Problem, dass ich in per Hand geschriebenen
Schema-Änderungen dann doch einen Fehler im vorletzten Statement drin
habe. Dabei bricht das Script dann ab und und ich habe teilweise
Änderungen in der Datenbank drin. Insbesondere ALTER TABLE sind mir dann
immer im Weg.

Gut, Transaktionen auch für data definition statements wären natürlich toll.

Grüße
Kai

Re: Syntaxcheck fürSQL-Scripts

am 07.02.2006 13:04:08 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net

Re: Syntaxcheck fürSQL-Scripts

am 07.02.2006 13:06:26 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net

Re: Syntaxcheck für SQL-Scripts

am 07.02.2006 13:21:43 von Kai Ruhnau

Andreas Kretschmer wrote:
> begin Andreas Kretschmer schrieb:
>> begin Kai Ruhnau schrieb:
>>> Hi,
>>>
>>> Gibt es eine Möglichkeit (die ich dann wohl übersehen habe), ein
>>> SQL-Script auf Syntax-Fehler zu untersuchen, bevor es an den
>>> MySQL-Client geht?
>> Ich habe mal einen SQL-Lint gefunden, allerdings war der recht meckrig.
>> URL habsch aber verlegt..., müßte suchen.
>> War IMHO eine Abschlußarbeit an TU Magdeburg, vor so 2-3 Jahren.
>
> http://dbs.informatik.uni-halle.de/sqllint/
>
> Magdeburg -> Halle, dicht daneben ist auch daneben.

Danke, das bezieht sich aber eher auf Semantikanalyse und hat auch da
diverse (unangenehme) Einschränkungen.

Ich schreib mal ein Featurerequest.

Grüße
Kai

Re: Syntaxcheck fürSQL-Scripts

am 07.02.2006 14:01:47 von Andreas Kretschmer

Andreas
--
Andreas Kretschmer
Linux - weil ich es mir wert bin!
GnuPG-ID 0x3FFF606C http://wwwkeys.de.pgp.net

Re: Syntaxcheck für SQL-Scripts

am 07.02.2006 15:02:14 von Axel Schwenke

Kai Ruhnau wrote:
>
> Gibt es eine Möglichkeit (die ich dann wohl übersehen habe), ein
> SQL-Script auf Syntax-Fehler zu untersuchen, bevor es an den
> MySQL-Client geht?

Nicht daß ich wüßte. Hast du keine separate Datenbank zum "spielen"?
Sonst könnte man bestimmt den Source hacken. Allerdings ist das gerade
bei Skripts mit DDL so eine Sache. Da können außer syntaktischen ja
auch semantische Felher drin sein:

ALTER TABLE foo ADD COLUMN beelzebub
ALTER TABLE foo ADD INDEX (beezlebub)

ist syntaktisch korrekt, geht aber in die Hose.

> Gut, Transaktionen auch für data definition statements wären natürlich toll.

Ja.


XL

Re: Syntaxcheck für SQL-Scripts

am 07.02.2006 16:26:32 von Kai Ruhnau

Axel Schwenke wrote:
> Kai Ruhnau wrote:
>> Gibt es eine Möglichkeit (die ich dann wohl übersehen habe), ein
>> SQL-Script auf Syntax-Fehler zu untersuchen, bevor es an den
>> MySQL-Client geht?
>
> Nicht daß ich wüßte. Hast du keine separate Datenbank zum "spielen"?

Doch, aber da find' ich es auch schon zu lästig.

> Sonst könnte man bestimmt den Source hacken.

Wie gesagt, dafür mach' ich einfach einen Feature-Request (Entweder
Transaktionen oder wenigstens Syntax-Check)

> Allerdings ist das gerade
> bei Skripts mit DDL so eine Sache. Da können außer syntaktischen ja
> auch semantische Felher drin sein:
>
> ALTER TABLE foo ADD COLUMN beelzebub
> ALTER TABLE foo ADD INDEX (beezlebub)
> ist syntaktisch korrekt, geht aber in die Hose.

Semantische Fehler kann $SOFTWARE bekanntermaßen nicht selber finden,
aber beispielsweise werden meine PHP-Scripte, bevor sie in das
Test-System integriert werden zumindest einmal auf korrekte Syntax
geprüft. Das schaltet die ganz dämlichen Fehler schonmal ab.

Grüße
Kai