Native SQL für Informix 

Die wesentlichen neuen Merkmale des Native SQL Moduls zu Release 4.0 sind

Isolationsebenen

Alle SET ISOLATION LEVEL Befehle gelten dauerhaft, also nicht nur innerhalb EXEC SQL - ENDEXEC, sondern auch für nachfolgende Befehle, z.B. im OPEN SQL für dieselbe Datenbankverbindung. Das kann negative Auswirkungen auf das Sperrverhalten nach sich ziehen. Um dies zu verhindern, sollte die Isolationsebene wieder auf DIRTY READ zurückgesetzt werden.

Außerdem sollten obige Befehle nicht in Stored Procedures eingebaut werden, da sie nicht mit der DBSL abgeglichen werden können.

Datentypen

Bei Zugriff auf SAP Tabellen in Informix über Native SQL unter Verwendung von Hostvariablen wird empfohlen grundsätzlich mit Workareas oder der LIKE-Anweisung zu arbeiten.

Bei Zugriff auf Nicht-SAP Tabellen muß sichergestellt werden, daß der ABAP-Variablentyp und der Datenbank-Spaltentyp verträglich sind, da das Native SQL Modul ohne die Informationen des ABAP Dictionarys arbeitet. Das Native SQL Modul stellt dem DBMS den im ABAP reservierten Typ und Speicherbereich zur Verfügung, in den bzw. aus dem direkt gelesen bzw. geschrieben wird. Dabei verhält sich das Modul bis auf wenige Ausnahmen genau wie bei der Verwendung von ESQL/C, d.h. manche Konvertierungen sind nicht erlaubt und führen zu Fehlermeldungen oder es kann zu Rundungsfehlern und Datenverschnitt kommen. Die Datentypabbildungen und Konvertierungen der Informix Datenbank sind im wesentlichen im Programmers Manual beschrieben.

Versucht der ABAP-Programmierer zum Beispiel über Native SQL einen DATE-Value der Datenbank in eine ABAP-Integer-Variable einzulesen, ist keine sinnvolle Konvertierung möglich.

Dem ABAP-Programmierer wird nachfolgend eine Beschreibung der Typverträglichkeiten zwischen ABAP-Variablen und den Datenbank-Spaltentypen einer Informix-Datenbank gegeben:

Alle erlaubten und vom Native SQL Modul unterstützten Typkonvertierungen werden aufgezeigt. Die durch Fettdruck hervorgehobenen Typkombinationen sollten bevorzugt verwendet werden.

Für die Fälle unerlaubter Typkombinationen zwischen ABAP-Typen und Datenbank-Typen wird das Fehlerverhalten der ABAP-Programmierumgebung angegeben; der jeweilige SQL-Fehlercode eines daraus resultierenden ABAP-Kurzdump ist in diesen Fällen angegeben, dieser Code kann sich jedoch von Release zu Release ändern.

In Sinne einer formal korrekten Beschreibung ist das Verhalten von hier nicht genannten Typkombinationen zwischen ABAP-Variablentypen und Datenbank-Spaltentypen undefiniert.

Der erste Teil beschreibt die Richtung Abspeichern von ABAP-Variablenwerten in (Nicht-R/3-) Datenbanktabellen mittels Native SQL (INSERT und UPDATE). Der zweite Teil beschreibt die umgekehrte Richtung: das Einlesen von Datenbankinhalten in ABAP-Variablen zum Weiterverarbeiten in einem ABAP-Programm (SELECT).

INSERT

ABAP-Feldtyp:

SELECT

DB-Spaltentyp

 

Verwendung der Informix Native SQL Befehle in R/3 V4

 

INSERT und UPDATE

Abspeichern von ABAP-Variablenwerten mit Native SQL.

Jede der im folgenden gezeigten Tabellen bezieht sich genau auf einen ABAP-Datentyp, welcher dem abzuspeichernden ABAP-Variablenwert zugrunde liegt.

In der linken Spalte steht der definierte SQL-Datentyp der Datenbank-Spalte einer Ziel-Datenbanktabelle.

Daneben ist die resultierende Reaktion der ABAP-Programmumgebung angegeben.

Die Beschreibung des SQL Datentyps DECIMAL gilt auch für die Datentypen MONEY und NUMERIC.

 

ABAP-Datentyp: C

Der ABAP-Datentyp C läßt sich auf die meisten Datenbanktypen abbilden, allerdings muß bei den Nicht-CHAR Spalten besonders auf Länge, Format und zulässigen Wertebereich geachtet werden , da es sonst leicht zu Rundungs-, Abschneidungs- oder Formatfehlern kommen kann. Abschneidungsfehler (Truncation) und Rundungen werden nicht als SQL Fehler zurückgemeldet.

DB-

Datentyp

Testfall [Bemerkungen]

Resultat

char

ABAP-Datenwertbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite <= DB-Spaltenbreite

ok

varchar

ABAP-Datenwertbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite <= DB-Spaltenbreite

ok

nchar

ABAP-Datenwertbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite <= DB-Spaltenbreite

ok

text

es handelt sich um ein DELETE Statement oder text-Spalte erscheint in WHERE Klausel

-615

sonst

ok

byte

 

-608

date

ABAP-Datenwert hat kein gültiges DB-Date-Format

[undef]

ABAP-Datenwert hat ein gültiges DB-Date-Format aber falschen Wertebereich

-608

ABAP-Datenwert hat ein gültiges DB-Date-Format

ok

datetime

ABAP-Datenwert hat kein gültiges DB-Datetime-Format

-1262

ABAP-Datenwert hat ein gültiges DB-Datetime-Format aber falschen Wertebereich

-1218

ABAP-Datenwert hat ein gültiges DB-Datetime-Format

ok

interval

ABAP-Datenwert hat kein gültiges DB-Interval-Format

-1264

ABAP-Datenwert hat kein gültiges DB-Interval-Format

-1263

ABAP-Datenwert hat ein gültiges DB-Interval-Format

ok

decimal

ABAP-Datenwert ist nicht numerisch

-1213

Verlust signifikanter Stellen bei Konvertierung

-1226

Verlust nicht-signifikanter Stellen

-1226

Konvertierung ohne Velust

ok

integer

ABAP-Datenwert ist nicht numerisch

-1213

Verlust signifikanter Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

smallint

ABAP-Datenwert ist nicht numerisch

-1213

Verlust signifikanter Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

float

ABAP-Datenwert ist nicht numerisch

-1213

Verlust signifikanter Stellen bei Konvertierung

[round]

Verlust nicht-signifikanter Stellen

[round]

Konvertierung ohne Velust

ok

smallfloat

ABAP-Datenwert ist nicht numerisch

-1213

Verlust signifikanter Stellen bei Konvertierung

[round]

Verlust nicht-signifikanter Stellen

[round]

Konvertierung ohne Velust

ok

double precision

ABAP-Datenwert ist nicht numerisch

-1213

Verlust signifikanter Stellen bei Konvertierung

[round]

Verlust nicht-signifikanter Stellen

[round]

Konvertierung ohne Velust

ok

 

ABAP-Datentyp: N

DB-

Datentyp

Testfall [Bemerkungen]

Resultat

char

ABAP-Feldbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Feldbreite <= DB-Spaltenbreite

ok

varchar

ABAP-Feldbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Feldbreite <= DB-Spaltenbreite

ok

nchar

ABAP-Feldbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Feldbreite <= DB-Spaltenbreite

ok

text

 

-608

byte

 

-608

date

 

-1218

datetime,

interval

DB-Spaltentyp besteht nur aus einem Element (z.B. datetime hour to hour) und ABAP-Wertebereich ist gültig

ok

sonst

-1218,-1261

decimal

Verlust von Stellen bei Konvertierung

-1226

Konvertierung ohne Velust

ok

integer

Verlust von Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

smallint

Verlust von Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

float

Verlust von Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

smallfloat

Verlust signifikanter Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

double precision

Verlust signifikanter Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

 

 

ABAP-Datentyp: P

DB-

Datentyp

Testfall [Bemerkungen]

Resultat

char

ABAP-Datenwertbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite <= DB-Spaltenbreite

ok

varchar

ABAP-Datenwertbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite <= DB-Spaltenbreite

ok

nchar

ABAP-Datenwertbreite > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite <= DB-Spaltenbreite

ok

text

 

-608

byte

 

-608

date

 

-1218

datetime,

interval

DB-Spaltentyp besteht nur aus einem Element (z.B. datetime hour to hour) und ABAP-Wertebereich ist gültig

ok

sonst

-1218,-1261

decimal

Verlust von Stellen bei Konvertierung

-1226

Konvertierung ohne Velust

ok

integer

Verlust von Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

smallint

Verlust von Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

float

Verlust von Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

smallfloat

Verlust von Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

double precision

Verlust von Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

 

ABAP-Datentyp: I

DB-

Datentyp

Testfall [Bemerkungen]

Resultat

char

Verlust von Stellen bei Konvertierung

-1207

Konvertierung ohne Verlust

ok

varchar

Verlust von Stellen bei Konvertierung

-1207

Konvertierung ohne Verlust

ok

nchar

Verlust von Stellen bei Konvertierung

-1207

Konvertierung ohne Verlust

ok

text

 

-608

byte

 

-608

date

 

-1218

datetime,

interval

 

-1260

decimal

Verlust von Stellen bei Konvertierung

-1226

Konvertierung ohne Velust

ok

integer

Konvertierung ohne Verlust

ok

smallint

Verlust von Stellen bei Konvertierung

-1214

Konvertierung ohne Verlust

ok

float

Verlust von Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

smallfloat

Verlust signifikanter Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

double precision

Verlust signifikanter Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

 

ABAP-Datentyp: F

DB-

Datentyp

Testfall [Bemerkungen]

Resultat

char

Verlust von Stellen bei Konvertierung

-1207

Konvertierung ohne Verlust

ok

varchar

Verlust von Stellen bei Konvertierung

-1207

Konvertierung ohne Verlust

ok

nchar

Verlust von Stellen bei Konvertierung

-1207

Konvertierung ohne Verlust

ok

text

 

-608

byte

 

-608

date

 

-1218

datetime,

interval

 

-1260

decimal

Verlust von Stellen bei Konvertierung

-1226

Konvertierung ohne Velust

ok

integer

Verlust von Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

smallint

Verlust von Stellen bei Konvertierung

-1214

Konvertierung ohne Verlust

ok

float

Konvertierung ohne Velust

ok

smallfloat

Verlust signifikanter Stellen bei Konvertierung

[round]

Konvertierung ohne Velust

ok

double precision

Konvertierung ohne Velust

ok

 

ABAP-Datentyp: D

DB-

Datentyp

Testfall [Bemerkungen]

Resultat

char

ABAP-Datenwertbreite (8) > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite (8) <= DB-Spaltenbreite

ok

varchar

ABAP-Datenwertbreite (8) > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite (8) <= DB-Spaltenbreite

ok

nchar

ABAP-Datenwertbreite (8) > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite (8) <= DB-Spaltenbreite

ok

date

 

-1205

sonst. Typen

siehe ABAP Datentyp C

(s.o.)

Da die Formate des ABAP Datentyps D und des Informix Datentyps Date unterschiedlich sind, findet hier keine Abbildung statt. Eine Umformatierung wurde wegen der unterschiedlichen Ausgabevarianten unterlassen.

 

ABAP-Datentyp: T

DB-

Datentyp

Testfall [Bemerkungen]

Resultat

char

ABAP-Datenwertbreite (6) > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite (6) <= DB-Spaltenbreite

ok

varchar

ABAP-Datenwertbreite (6) > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite (6) <= DB-Spaltenbreite

ok

nchar

ABAP-Datenwertbreite (6) > DB-Spaltenbreite

[rtrunc]

ABAP-Datenwertbreite (6) <= DB-Spaltenbreite

ok

datetime hour to second

 

-1261

sonst. Typen

siehe ABAP Datentyp C

(s.o.)

 

Da die Formate des ABAP Datentyps T und des Informix Datentyps Datetime unterschiedlich sind, findet hier keine Abbildung statt. Eine Umformatierung wird nicht durchgeführt.

 

ABAP-Datentyp: X

DB-

Datentyp

Testfall [Bemerkungen]

Resultat

char

ABAP-Datenwertbreite >= 256

-609

ABAP-Datenwertbreite < 256

ok

varchar

ABAP-Datenwertbreite >= 256

-609

ABAP-Datenwertbreite < 256

ok

nchar

ABAP-Datenwertbreite >= 256

-609

ABAP-Datenwertbreite < 256

ok

text

ABAP-Datenwertbreite >= 256

ok

byte

ABAP-Datenwertbreite < 256

ok

date

 

[undef]

datetime

 

[undef]

interval

 

[undef]

decimal

 

[undef]

integer

 

[undef]

smallint

 

[undef]

float

 

[undef]

smallfloat

 

[undef]

double precision

 

[undef]

Da in der DBSL für R/3 Tabellen unter Informix hexadezimale Felder, die kleiner 256 sind, als CHAR abgelegt werden, gibt es auch im Native SQL Modul die Möglichkeit auf diese Felder zuzugreifen. Ist die ABAP Variable kleiner 256, wird das Datenbankfeld als CHAR interpretiert. Die ersten beiden Characterzeichen im Datenbankfeld werden mit der Längeninformation beschrieben.

Das bedeutet auch, daß die ABAP-Variable beim Zugriff auf ein Byte oder Text Feld größer als 256 sein muß.

 

SELECT

Einlesen von Datenbankfeldern mit Native SQL.

Jede der nachfolgend gezeigten Tabellen bezieht sich auf einen Datenbank-Spaltentyp, welcher dem wiederzugewinnenden Datenbank-Spaltenwert zugrunde liegt. Aus Gründen der Kompaktheit sind manchmal mehrere DB-Datentypen, für die das hier beschriebene Verhalten identisch ist, zusammengefaßt.

In der linken Spalte steht der definierte ABAP-Datentyp einer ABAP-Ziel-Variablen.

Daneben ist die resultierende Reaktion der ABAP-Programmumgebung angegeben.

 

Datenbank-Spaltentyp: char, varchar oder nchar

ABAP-

Datentyp

Testfall [Bemerkungen]

Resultat

Character C

DB-Datenwertbreite > ABAP-Feldbreite

[rtrunc]

DB-Datenwertbreite = ABAP-Feldbreite

ok

DB-Datenwertbreite < ABAP-Feldbreite
[linksbündig, rechts zusätzliche Blanks]

ok

Numeric N

DB-Datenwertbreite > ABAP-Feldbreite

[rtrunc]

DB-Datenwertbreite = ABAP-Feldbreite

ok

DB-Datenwertbreite < ABAP-Feldbreite
[rechtsbündig, links zusätzliche Nullen]

ok

Packed P

DB-Datenwertbreite > ABAP-Feldbreite

[rtrunc]

DB-Datenwertbreite <= ABAP-Feldbreite

ok

Integer I

DB-Datenwert ist nicht numerisch

-1213

Verlust signifikanter Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

Float F

DB-Datenwert ist nicht numerisch

-1213

Verlust signifikanter Stellen bei Konvertierung

[round]

Verlust nicht-signifikanter Stellen bei Konvertierung

[round]

Konvertierung ohne Verlust

ok

Date D

DB-Datenwertbreite > ABAP-Feldbreite (8)

[rtrunc]

DB-Datenwertbreite = ABAP-Feldbreite (8)

ok

DB-Spaltenbreite < ABAP-Feldbreite (8)
[linksbündig, rechts zusätzliche Blanks]

ok

Time T

DB-Datenwertbreite > ABAP-Feldbreite (6)

[rtrunc]

DB-Datenwertbreite = ABAP-Feldbreite (6)

ok

DB-Datenwertbreite < ABAP-Feldbreite (6)
[linksbündig, rechts zusätzliche Blanks]

ok

Hexadezimal X

DB-Datenwertbreite > 256 > ABAP-Feldbreite

[rtrunc]

ABAP-Feldbreite >= 256

-1269

ABAP-Feldbreite < 256 und DB-Spaltenbreite < 256
[linksbündig, 1. Und 2. Zeichen geht verloren]

ok

 

Datenbank-Spaltentyp: text

ABAP-

Datentyp

Testfall [Bemerkungen]

Resultat

Character C

DB-Datenwertbreite > ABAP-Feldbreite

[rtrunc]

DB-Datenwertbreite < ABAP-Feldbreite
[linksbündig, rechts zusätzliche Blanks]

ok

DB-Datenwertbreite = ABAP-Feldbreite

ok

Numeric N

 

-1269

Packed P

 

-1269

Integer I

 

-1269

Float F

 

-1269

Date D

 

-1269

Time T

 

-1269

Hexadezimal X

ABAP-Feldbreite < 256

-1269

ABAP-Feldbreite >= 256

ok

 

Datenbank-Spaltentyp: byte

ABAP-

Datentyp

Testfall [Bemerkungen]

Resultat

Character C

ABAP-Feldbreite < 256

-1269

ABAP-Feldbreite >= 256:

DB-Datenwertbreite > ABAP-Feldbreite

DB-Datenwertbreite < ABAP-Feldbreite
[linksbündig, rechts zusätzliche Blanks]

DB-Datenwertbreite = ABAP-Feldbreite

 

[rtrunc]

ok

ok

Numeric N

 

-1269

Packed P

 

-1269

Integer I

 

-1269

Float F

 

-1269

Date D

 

-1269

Time T

 

-1269

Hexadezimal X

ABAP-Feldbreite < 256

-1269

ABAP-Feldbreite >= 256

ok

 

Datenbank-Spaltentyp: date

ABAP-

DatentypTestfall [Bemerkungen]

Resultat

Character C

ABAP-Feldbreite < 10

[rtrunc]

ABAP-Feldbreite >10
[linksbündig, rechts zusätzliche Blanks]

ok

ABAP-Feldbreite = 10

ok

Numeric N

 

[undef]

Packed P

 

[undef]

Integer I

 

[undef]

Float F

 

[undef]

Date D

 

[undef]

Time T

 

[undef]

Hexadezimal X

 

-1269

 

Datenbank-Spaltentyp: datetime / interval

ABAP-

Datentyp

Testfall [Bemerkungen]

Resultat

Character C

DB-Datenwertbreite > ABAP-Feldbreite

[rtrunc]

DB-Datenwertbreite <= ABAP-Feldbreite
[u.U. nicht linksbündig, rechts zusätzliche Blanks]

ok

Numeric N

 

[undef]

Packed P

 

[undef]

Integer I

 

-1260

Float F

 

-1260

Date D

 

[undef]

Time T

 

[undef]

Hexadezimal X

 

-1269

 

Datenbank-Spaltentyp: decimal, numeric oder money

ABAP-

Datentyp

Testfall [Bemerkungen]

Resultat

Character C

Verlust von Stellen bei Konvertierung

[ rtrunc]

Konvertierung ohne Verlust

ok

Numeric N

Verlust von Stellen bei Konvertierung

[ rtrunc]

Konvertierung ohne Verlust

ok

Packed P

Verlust von Stellen bei Konvertierung

[ rtrunc]

Konvertierung ohne Verlust

ok

Integer I

Verlust von Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

Float F

Verlust von Stellen bei Konvertierung

[ round]

Konvertierung ohne Verlust

ok

Date D

 

[undef]

Time T

 

[undef]

Hexadezimal X

 

[undef]

Beim Lesen des Datentyps DECIMAL in ABAP Typ C muß neben dem Dezimalzeichen auch Platz für das Tausendertrennzeichen vorgesehen sein.

 

Datenbank-Spaltentyp: integer oder smallint

ABAP-

Datentyp

Testfall [Bemerkungen]

Resultat

Character C

Verlust signifikanter Stellen bei Konvertierung

[rtrunc]

Konvertierung ohne Verlust

ok

Numeric N

Verlust signifikanter Stellen bei Konvertierung

[ rtrunc]

Konvertierung ohne Verlust

ok

Packed P

Verlust signifikanter Stellen bei Konvertierung

[ rtrunc]

Konvertierung ohne Verlust

ok

Integer I

Konvertierung ohne Verlust

ok

Float F

 

ok

Date D

 

[undef]

Time T

 

[undef]

Hexadezimal X

 

[undef]

 

Datenbank-Spaltentyp: smallfloat oder float oder double precision

ABAP-

Datentyp

Testfall [Bemerkungen]

Resultat

Character C

Verlust signifikanter Stellen bei Konvertierung

[ rtrunc]

Konvertierung ohne Verlust

ok

Numeric N

Verlust signifikanter Stellen bei Konvertierung

[ rtrunc]

Konvertierung ohne Verlust

ok

Packed P

Verlust signifikanter Stellen bei Konvertierung

[ rtrunc]

Konvertierung ohne Verlust

ok

Integer I

Verlust signifikanter Stellen bei Konvertierung

-1215

Konvertierung ohne Verlust

ok

Float F

 

ok

Date D

 

[undef]

Time T

 

[undef]

Hexadezimal X

 

[undef]

 

Verwendung der Informix Native SQL Befehle in R/3 V4

Die unten aufgelisteten Native SQL-Anweisungen sollten in ABAP nicht verwendet werden. Es wird unterschieden zwischen den Klassen

Die Liste erhebt keinen Anspruch auf Vollständigkeit, sondern ist lediglich als Programmierhilfe gedacht. Alle hier nicht aufgelisteten Informix SQL Statements sollten problemlos ausfuehrbar sein.

Informix SQL Anweisung

Klasse

ALLOCATE DESCRIPTOR

NA

ALTER FRAGMENT

NR

ALTER INDEX

NR

ALTER TABLE … MODIFY NEXT SIZE

NR

ALTER TABLE … LOCK MODE

NR

ALTER TABLE … ADD ROWIDS

NR

ALTER TABLE … DROP ROWIDS

NR

BEGIN WORK

NA

CHECK TABLE

NR

CLOSE DATABASE

NR

CONNECT

SP

CREATE AUDIT

NR

CREATE DATABASE

NR

DATABASE

NR

DEALLOCATE DESCRIPTOR

NR

DECLARE CURSOR

SP

DELETE ... WHERE CURRENT OF <cursid>

NA

DESCRIBE

NA

DISCONNECT

SP

DROP AUDIT

NR

DROP DATABASE

NR

EXECUTE

NA

EXECUTE IMMEDIATE

NA

EXECUTE PROCEDURE

SP

FETCH

SP

FLUSH

NA

FREE

NA

GET DESCRIPTOR

NA

GET DIAGNOSTICS

NA

GRANT FRAGMENT

NR

INFO

NA

LOAD

NA

OPEN CURSOR

SP

OUTPUT

NA

PREPARE

NA

PUT

NA

RECOVER TABLE

NR

RENAME DATABASE

NR

REVOKE FRAGMENT

NR

ROLLFORWARD DATABASE

NR

SELECT ... INTO TEMP <tab>

NA

SELECT ... FOR UPDATE OF <column>

NA

SET CONNECTION

SP

SET DATASKIP

NR

SET DEBUG FILE

NR

SET DESCRIPTOR

NR

SET TRANSACTION

NR

START DATABASE

NR

UNLOAD

NA

UPDATE STATISTICS

NR

UPDATE ... WHERE CURRENT OF <cursid>

NA

WHENEVER

NA