SQL-Anweisungen zum Abfragen und Ändern von Daten lassen sich wie folgt unterscheiden::
SQL-Anweisungen, die über einen Cursor auf Sätze zugreifen
Die Funktion eines Cursors und die SQL-Anweisungen, mit denen ein Cursor angesprochen wird, werden im Abschnitt „SQL-Datenmanipulation mit Cursor“ dargestellt.SQL-Anweisungen, die ohne Verwendung eines Cursors auf Sätze zugreifen. Folgende SQL-Anweisungen verwenden keinen Cursor:
SELECT
wählt Werte eines Satzes aus und überträgt diese Werte in Benutzervariablen
(siehe "Benutzervariablen")INSERT
fügt Sätze in eine bestehende Tabelle ein
MERGE
vereint die Funktionen INSERT und UPDATE in einem Arbeitsgang.
Abhängig vom Ergebnis der ON-Bedingung ändert MERGE Spaltenwerte
von bereits existierenden Sätzen oder fügt neue Sätze in eine bestehende
Tabelle ein.UPDATE
ändert Spaltenwerte in ausgewählten Sätzen einer Tabelle
DELETE
löscht ausgewählte Sätze einer Tabelle
Um Änderungen in einer Tabelle mit den obigen Anweisungen durchzuführen, muss
der Anwender das entsprechende Privileg besitzen (siehe "Zugriffsschutz in SQL durch Privilegien"), bei Änderungen mit Hilfe eines Abfrage-Ausdrucks oder einer Suchbedingung zusätzlich das SELECT-Privileg
der Transaktionsmodus (siehe "SQL-Transaktion") der aktuellen Transaktion READ WRITE sein
in der DBH-Startanweisung ADD-SQL-DATABASE-CATALOG-LIST (siehe Handbuch „ Datenbankbetrieb“) entweder ACCESS=*PARAMETERS (WRITE=*YES) oder ACCESS=*PARAMETERS (CAT-ADMINISTRATION=*YES) eingestellt sein.