6 Stimmen

SQLAnywhere: Watcom SQL oder T-SQL

Eine allgemeine Frage. Ich entwickle für Sybase SQL Anywhere 10. Aus Gründen der Rückwärtskompatibilität sind fast alle unsere Stored Procedures in Transact-SQL geschrieben. Gibt es irgendwelche Vor- oder Nachteile bei der Verwendung von T-SQL anstelle des Watcom-Dialekts?

6voto

Graeme Perrow Punkte 53901

Vorteile von TSQL:

  • größere Kompatibilität mit Sybase ASE und Microsoft SQL Server

Nachteile von TSQL:

  • einige Anweisungen und Funktionen sind nur in Watcom-SQL-Prozeduren verfügbar. Einige Beispiele:
    • mehr Kontrolle über das EXECUTE IMMEDIATE Verhalten in Watcom-SQL
    • LOAD TABLE, UNLOAD TABLE, REORGANIZE (neben anderen) sind nur in Watcom-SQL verfügbar
    • die FOR-Anweisung zum Durchlaufen von Schleifen über die Ergebnisse einer Abfrage und zum automatischen Deklarieren von Variablen, die die Werte enthalten, ist sehr nützlich, aber in TSQL nicht verfügbar
  • Die Fehlerberichterstattung ist weniger konsistent, da bei TSQL-Prozeduren davon ausgegangen wird, dass sie ihre eigenen Fehler behandeln, während Watcom-SQL-Prozeduren Fehler sofort melden. Watcom-SQL-Prozeduren können eine EXCEPTION-Klausel zur Fehlerbehandlung enthalten
  • Anweisungen werden nicht durch Semikolons getrennt, so dass TSQL-Prozeduren schwieriger zu parsen (und zu lesen) sind. Syntaxfehler können manchmal nicht auf die tatsächliche Stelle des Fehlers hinweisen
  • keine Möglichkeit, die Ergebnismenge einer Prozedur explizit zu deklarieren
  • keine Unterstützung von Triggern auf Zeilenebene in TSQL
  • Event-Handler können nur mit Watcom-SQL geschrieben werden

Die Dokumentation zur T-SQL-Kompatibilität von SQL Anywhere lautet online verfügbar . Es gibt einige Datenbank-Optionen die das Verhalten so ändern, dass es eher dem entspricht, was Sie von Sybase ASE erwarten würden. Darüber hinaus gibt es einige Funktionen die verwendet werden können, um von einer Syntax in eine andere zu übersetzen.

Beachten Sie, dass Sie, wenn Sie anfangen möchten, Anweisungen im Watcom-Dialekt in eine bestehende gespeicherte Prozedur einzufügen, die SP so ändern müssen, dass sie vollständig im Watcom-Dialekt geschrieben ist. Sie können keine Syntaxen in einer SP, einem Trigger oder einem Batch mischen.

3voto

Tom Slee Punkte 850

Wie KM sagte - andererseits ist der "Watcom"-Dialekt viel näher am ISO/ANSI-Standard SQL, so dass dieser Dialekt eher mit anderen Produkten übereinstimmt und Leute anspricht, die mit SQL-Standards vertraut sind.

1voto

KM. Punkte 98297

Wenn Sie jemals versuchen, auf SQL Server zu portieren (oder einen Job auf SQL Server annehmen), ist Sybase T-SQL dem SQL Server T-SQL sehr ähnlich. Sybase und MS haben sich seinerzeit zusammengetan, so dass der Kern dieser Sprachen sehr ähnlich ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X