## SQL

### Verwendung

Mit der Structured Query Language (SQL) können Sie Daten in der Datenbank definieren, anzeigen, einfügen, ändern und löschen. Das Datenbanksystem führt SQL-Anweisungen innerhalb von Transaktionen aus.

Die SQL-Anweisungen sind in folgende Gruppen unterteilt:

● Datendefinition

● Autorisierung

● Datenmanipulation

● Datenanfrage

● Transaktionen

● Statistiken

Eine Einführung in die MaxDB-SQL-Syntax finden Sie im SQL-Tutorial, eine vollständige Beschreibung im SQL-Referenzhandbuch.

### Aktivitäten

● Um eine Datenbankanwendung zu programmieren, können Sie SQL-Anweisungen in eine Programmiersprache Ihrer Wahl einbetten und über eine Schnittstelle an die Datenbankinstanz senden.

Benutzer der Datenbankanwendung geben SQL-Anweisungen dann nur noch implizit ein.

● Sie können SQL-Anweisungen explizit unter anderem mit den folgenden Datenbankwerkzeugen eingeben:

○ SQL Studio (GUI, nur für Microsoft Windows)

○ SQLCLI (Kommandozeile, für alle unterstützten Betriebssysteme)

○ Web SQL (Web-basiert, für alle unterstützten Betriebssysteme)

### Funktionsumfang

Sie können unter anderem die folgenden Datentypen verwenden: BOOLEAN, CHAR[ACTER] (ASCII, BYTE, UNICODE), DATE, FIXED, FLOAT, INT[EGER], LONG (ASCII, BYTE,UNICODE) zur Speicherung von BLOBs und CLOBs, SMALLINT, TIME, TIMESTAMP, VARCHAR (ASCII, BYTE, UNICODE). Siehe SQL-Referenzhandbuch, Datentyp (data_type).

Sie können den SQL-Modus auswählen, in dem Sie mit dem Datenbanksystem arbeiten. Informationen zu den Unterschieden zwischen den SQL-Modi INTERNAL und ORACLE finden Sie in der Dokumentation SQL-Modus ORACLE.

Wichtige SQL-Eigenschaften von MaxDB

Eigenschaft | Weitere Informationen
Schema | SQL-Referenzhandbuch, CREATE SCHEMA-Anweisung (create_schema_statement)
Fremdschlüssel (referentielle Integrität) | SQL-Tutorial, Fremdschlüsselbeziehungen zwischen Tabellen SQL-Referenzhandbuch, Referentielle CONSTRAINT-Definition (referential_constraint_defi
explizite und implizite Sperren auf Zeilen, Tabellen und dem Datenbankkatalog | SQL-Referenzhandbuch, Transaktionen LOCK-Anweisung (lock_statement) LOCK-Option (lock_option)
aktualisierbare View-Tabelle | SQL-Tutorial, View-Tabellen SQL-Referenzhandbuch, CREATE VIEW-Anweisung (create_view_statement)
temporäre Tabelle | SQL-Referenzhandbuch, CREATE TABLE-Anweisung (create_table_statement)
Wertebereichsdefinition (Domain) | SQL-Tutorial, Wertebereiche SQL-Referenzhandbuch, CREATE DOMAIN-Anweisung (create_domain_statement)
Outer Join | SQL-Tutorial, Joins: Informationen aus mehreren Tabellen SQL-Referenzhandbuch, JOIN-Prädikat (join_predicate)
Sub-Query | SQL-Tutorial, Subquery: Innere Abfragen SQL-Referenzhandbuch, Subquery (subquery)
Subtransaktion | SQL-Referenzhandbuch, SUBTRANS-Anweisung (subtrans_statement)
Nummerngenerator (Autoinkrement-Spalte) | SQL-Tutorial, Nummerngeneratoren für Tabellen SQL-Referenzhandbuch, CREATE SEQUENCE-Anweisung (create_sequence_statement)
Datenbankprozedur (Stored Procedure) | SQL-Tutorial, Datenbankprozeduren SQL-Referenzhandbuch, CREATE DBPROC[EDURE]-Anweisung (create_dbproc_statement)
Datenbankfunktion (benutzerdefinierte Funktion) | SQL-Tutorial, Datenbankfunktionen SQL-Referenzhandbuch, CREATE FUNCTION-Anweisung (create_function_statement)
Trigger | SQL-Tutorial, Datenbanktrigger SQL-Referenzhandbuch, CREATE TRIGGER-Anweisung (create_trigger_statement) CREATE SYSTEM TRIGGER-Anweisung (create_system_trigger_statement
serverseitiger Cursor | SQL-Referenzhandbuch, DECLARE CURSOR-Anweisung (declare_cursor_statement)
Shared SQL (Wiederverwendung von Ausführungsplänen) | spezieller Datenbankparameter SHAREDSQL
Optimierung | SQL-Optimierer

Eine Übersicht aller SQL-Anweisungen finden Sie im SQL-Referenzhandbuch unter SQL-Anweisungen: Überblick.

Informationen zu Einschränkungen finden Sie im SQL-Referenzhandbuch unter Restriktionen für SQL-Anweisungen.

Siehe auch:

Transaktionen

Sperren für Datenbankobjekte

Entwicklung von Datenbankanwendungen

Das Datenbanksystem im Überblick