Einfache Namen sind entweder reguläre Namen aus Buchstaben, Ziffern und Unterstrich, die nicht in Anführungszeichen eingeschlossen werden, oder Spezialnamen, die in Anführungszeichen eingeschlossen werden müssen.
einf_name ::= {
regulärer_name |
spezialname }
regulärer_name ::=
buchstabe [ {
buchstabe |
ziffer | _ } ] ...
spezialname ::= "
zeichen... "
buchstabe ::= a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z|
A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z
ziffer ::= 0|1|2|3|4|5|6|7|8|9
regulärer_name
Regulärer Name, der nicht in Anführungszeichen eingeschlossen wird. Ein regulärer Name darf kein reserviertes SQL-Schlüsselwort sein (siehe Abschnitt „SQL-Schlüsselwörter").
buchstabe
Kleinbuchstabe zwischen a und z oder Großbuchstabe zwischen A und Z des SESAM/SQL-Zeichenvorrats. Kleinbuchstaben werden automatisch in Großbuchstaben umgewandelt. Umlaute dürfen nicht verwendet werden.
ziffer
Ziffer zwischen 0 und 9.
_ Unterstrich
spezialname
Spezialname, der in Anführungszeichen eingeschlossen wird. Ein Spezialname darf ein reserviertes SQL-Schlüsselwort sein und kann Sonderzeichen enthalten.
zeichen
Das erste Zeichen darf kein Unterstrich sein. Ansonsten können Sie für zeichen ein beliebiges abdruckbares Zeichen (d.h. >= X'40') des SESAM/SQL-Zeichenvorrats angeben. Groß- und Kleinbuchstaben werden unterschieden. Ist zeichen ein Anführungszeichen (X'7F'), muss es verdoppelt werden. Ein doppeltes Anführungszeichen gilt als ein Zeichen.
Gleichheit von einfachen Namen
Zwei reguläre Namen gelten als gleich, wenn nach Umwandlung der Buchstaben in Großbuchstaben die Zeichen an den sich entsprechenden Zeichenpositionen jeweils gleich sind.
Ein regulärer Name und ein Spezialname gelten als gleich, wenn nach Umwandlung der Buchstaben des regulären Namens in Großbuchstaben und Entfernen der Anführungszeichen beim Spezialnamen die Zeichen an den sich entsprechenden Zeichenpositionen jeweils gleich sind. Bei unterschiedlich langen Zeichenfolgen wird die kürzere mit Leerzeichen aufgefüllt.
Zwei Spezialnamen gelten als gleich, wenn nach Entfernen der Anführungszeichen die Zeichen an den sich entsprechenden Zeichenpositionen jeweils gleich sind. Bei unterschiedlich langen Zeichenfolgen wird die kürzere mit Leerzeichen aufgefüllt.
Beispiel
Folgende einfache Namen gelten als gleich:
ABc abc "ABC" "ABC "
Folgende einfache Namen sind verschieden:
Abc
und "Abc"
"ABC"
und "abc"
Gleiche Namen können in jeder Referenz gegeneinander ausgetauscht werden.
Folgende Namen von Datenbankobjekten sind einfache Namen:
{
anweisungsbezeichner
|
berechtigungsschlüssel
|
catalog
|
cursor
|
einf_basistabellenname
|
einf_bedingungsname
|
einf_indexname
|
einf_routinenname
|
einf_schemaname
|
einf_spacename
|
einf_stogroupname
|
einf_viewname
|
fehlername
|
korrelationsname
|
lokale_variable
|
marke
|
routinenparameter
|
spalte }
::=
einf_name
anweisungsbezeichner
Name für eine dynamisch formulierte Anweisung. Der Anweisungsbezeichner muss innerhalb der Übersetzungseinheit eindeutig sein.
Der Anweisungsbezeichner darf max. 18 Zeichen lang sein.
berechtigungsschlüssel
Name für einen Berechtigungsschlüssel. Die ersten 10 Zeichen des Berechtigungsschlüssels müssen innerhalb der Datenbank eindeutig sein.
Wird der Name des Berechtigungsschlüssels ohne Anführungszeichen angegeben, darf er nur Buchstaben und Ziffern enthalten. Wird der Berechtigungsschlüssel in Anführungszeichen angegeben, muss er mit einem Großbuchstaben beginnen und darf nur Großbuchstaben, Ziffern und die Sonderzeichen - und . enthalten. Die Sonderzeichen dürfen nicht am Ende des signifikanten Teils (erste 10 Zeichen) des Berechtigungsschlüssels vorkommen.
Nicht erlaubt sind die Zeichenfolgen "..", ".-" und "-.".
Die Zeichenfolge "--" ist erlaubt.
Der Berechtigungsschlüssel darf max. 18 Zeichen lang sein.
catalog
Name für eine Datenbank. Wird der Datenbankname ohne Anführungszeichen angegeben, darf er nur Buchstaben und Ziffern enthalten. Wird der Datenbankname in Anführungszeichen angegeben, muss er mit einem Großbuchstaben beginnen und darf nur Großbuchstaben, Ziffern und die Sonderzeichen - und . enthalten. Die Sonderzeichen dürfen nicht am Ende des Datenbanknamens vorkommen. Nicht erlaubt sind die Zeichenfolgen "..", ".-" und "-.". Die Zeichenfolge "--" ist erlaubt. Der Datenbankname darf max. 18 Zeichen lang sein.
cursor
Name für einen Cursor. Pro Übersetzungseinheit darf derselbe Cursorname nur einmal in einer DECLARE CURSOR-Anweisung vorkommen.
Der Cursorname darf max. 18 Zeichen lang sein.
einf_basistabellenname
Name für eine Basistabelle. Der einfache Name der Basistabelle muss innerhalb der Basistabellen- und Viewnamen des Schemas eindeutig sein.
Der einfache Basistabellenname darf max. 31 Zeichen lang sein.
einf_bedingungsname
Name für eine Integritätsbedingung. Der einfache Name muss innerhalb der Integritätsbedingungsnamen eines Schemas eindeutig sein.
Der einfache Name einer Integritätsbedingung darf max. 31 Zeichen lang sein.
einf_indexname
Name für einen Index. Der einfache Indexname muss innerhalb der Indexnamen des Schemas eindeutig sein.
Der einfache Indexname darf max. 18 Zeichen lang sein.
einf_routinenname
Name einer Routine. Der einfache Routinen-Name muss innerhalb der Routinen-Namen des Schemas eindeutig sein.
Der einfache Routinen-Name darf max. 31 Zeichen lang sein.
einf_schemaname
Name für ein Schema. Der einfache Schemaname muss innerhalb der Schemanamen der Datenbank eindeutig sein.
Der einfache Schemaname darf max. 31 Zeichen lang sein.
einf_spacename
Name für einen Space. Die ersten 12 Zeichen des einfachen Spacenamens müssen innerhalb der Spacenamen der Datenbank eindeutig sein. Wird der Spacename ohne Anführungszeichen angegeben, darf er nur Buchstaben und Ziffern enthalten. Wird der Spacename in Anführungszeichen angegeben, muss er mit einem Großbuchstaben beginnen und darf nur Großbuchstaben, Ziffern und die Sonderzeichen - und . enthalten. Die Sonderzeichen dürfen nicht am Ende des signifikanten Teils (erste 12 Zeichen) des Spacenamens vorkommen.
Nicht erlaubt sind die Zeichenfolgen "..", ".-" und "-.".
Die Zeichenfolge "--" ist erlaubt. Der einfache Spacename darf max. 18 Zeichen lang sein.
einf_stogroupname
Name für eine Storage Group. Der einfache Name der Storage Group muss innerhalb der Storage Group-Namen einer Datenbank eindeutig sein.
Der einfache Name einer Storage Group darf max. 18 Zeichen lang sein.
einf_viewname
Name für einen View. Der einfache Name des View muss innerhalb der Basistabellen- und Viewnamen des Schemas eindeutig sein.
Der einfache Viewname darf max. 31 Zeichen lang sein.
fehlername
Name für einen Fehler oder einen SQLSTATE in einer COMPOUND-Anweisung. Alle Fehlernamen der COMPOUND-Anweisung müssen sich voneinander unterscheiden..
Der Fehlername darf max. 31 Zeichen lang sein.
korrelationsname
Umbenennung einer Tabelle.
Der Korrelationsname darf max. 31 Zeichen lang sein.
lokale_variable
Name für eine lokale Variable in einer COMPOUND-Anweisung. Der Variablenname muss innerhalb der COMPOUND-Anweisung eindeutig sein und sich von allen Parameternamen der Routine unterscheiden.
Der Variablenname darf max. 31 Zeichen lang sein.
marke
Name für eine Marke in einer Routine. Die Marke darf nicht identisch sein mit einer anderen Marke innerhalb des Anweisungsrumpfes.
Reservierte Schluesselwörter sowie folgende Namen sind nicht als Markennamen erlaubt: ATOMIC, DO, ELSEIF, ITERATE, IF, LEAVE, LOOP, REPEAT, RESIGNAL, SIGNAL, UNTIL, WHILE.
Der Markenname darf max. 31 Zeichen lang sein.
routinenparameter
Name für einen Routinen-Parameter. Der Parametername muss innerhalb der Routine eindeutig sein.
Der Parametername darf max. 31 Zeichen lang sein.
spalte
Name für eine Spalte. Der Spaltenname muss innerhalb der Tabelle eindeutig sein. Der einfache Spaltenname darf max. 31 Zeichen lang sein.