|
Lexikální elementy | Čísla |
Standardně zapsané identifikátory jazyka SQL začínají písmenem nebo podtržítkem ("_") a mohou obsahovat písmena, číslice a podtržítko.
Přípustná jsou i národní písmena patřící do systémové znakové sady serveru, např. písmena s diakritikou.
Příklady: I
, new_value
, zisk_po_zdanění_2005
.
Pokud identifikátor má obsahovat jiné než alfanumerické znaky, pak musí být na začátku a na konci vymezen dvojicí speciálních omezovačů. Omezovači mohou být obrácené apostrofy nebo úvozovky. Použití uvozovek vyžaduje vhodné nastavení příznaků kompatibility SQL (pomocí procedury Set_sql_option
(volba SQLOPT_QUOTED_IDENT
)).
Omezovač nemůže být obsažen uvnitř takto zapsaného identifikátoru.
Příklady: `Průměrný zisk za 5 let`
, "Reader's digest"
, `UPDATE`
.
Součástí identifikátoru může být i znak, který nelze do příkazu přímo napsat, protože na klávesnici chybí. Pro jeho zápis lze použít Unicode escape sekvenci, v níž se nezapsatelný znak nahradí svým kódem v Unicode. Před identifikátorem je vždy U&, Unicode escape sekvence začíná úvodním Unicode Escape znakem a obsahuje 4 hexadecimální číslice.
Příklady: U&`poci\0105g`
, U&`po*0142owa`UESCAPE'*'
(totéž jako pociąg
, połowa
).
Identifikátory, bez ohledu na to, kterým způsobem jsou zapsány, mohou obsahovat pouze znaky patřící do systémové znakové sady databáze.
Počet signifikantních znaků v identifikátorech je 31, proto identifikátory, které se liší až za 31. znakem, budou považovány za stejné. V identifikátorech se nerozlišuje mezi velkými a malými písmeny.
Standardní identifikátory se musí lišit od tzv. vyhrazených slov, což je skupina identifikátorů s pevně daným neměnným významem. Vyhrazená slova jsou:
"ADD
", "AFTER
", "ALL
", "ALTER
", "AND
", "ANY
", "AS
", "ASC
", "AUTHOR
", "AUTOR
", "AVG
", "BEFORE
", "BEGIN
", "BETWEEN
", "BIGINT
", "BINARY
", "BIPTR
", "BIT
", "BLOB
", "BOOLEAN
", "BY
", "CALL
", "CASCADE
", "CASE
", "CAST
", "CHAR
", "CHARACTER
", "CHECK
", "CLOB
", "CLOSE
", "COALESCE
", "COLLATE
", "COMMIT
", "CONCAT
", "CONDITION
", "CONSTANT
", "CONSTRAINT
", "CONTINUE
", "CORRESPONDING
", "COUNT
", "CREATE
", "CROSS
", "CURRENT
", "CURSOR
", "DATE
", "DATIM
", "DEC
", "DECIMAL
", "DECLARE
", "DEFAULT
", "DELETE
", "DESC
", "DISTINCT
", "DIV
", "DO
", "DOUBLE
", "DROP
", "ELSE
", "ELSEIF
", "END
", "ESCAPE
", "EXCEPT
", "EXISTS
", "EXIT
", "EXTERNAL
", "FETCH
", "FLOAT
", "FOR
", "FOREIGN
", "FROM
", "FULL
", "FUNCTION
", "GRANT
", "GROUP
", "HANDLER
", "HAVING
", "HISTORY
", "IF
", "IN
", "INDEX
", "INNER
", "INOUT
", "INSERT
", "INT
", "INTEGER
", "INTERSECT
", "INTO
", "IS
", "JOIN
", "KEY
", "LARGE
", "LEAVE
", "LEFT
", "LIKE
", "LONG
", "LOOP
", "MAX
", "MIN
", "MOD
", "NATIONAL
", "NATURAL
", "NCHAR
", "NOT
", "NULL
", "NULLIF
", "NUMERIC
", "OBJECT
", "OF
", "ON
", "OPEN
", "OR
", "ORDER
", "OTHERS
", "OUT
", "OUTER
", "POINTER
", "PRECISION
", "PRIMARY
", "PROCEDURE
", "PUBLIC
", "REAL
", "REDO
", "REFERENCES
", "REFERENCING
", "RELEASE
", "REPEAT
", "RESIGNAL
", "RESTRICT
", "RETURN
", "RETURNS
", "REVOKE
", "RIGHT
", "ROLLBACK
", "SAVEPOINT
", "SELECT
", "SET
", "SIGNAL
", "SIGNATURE
", "SMALLINT
", "SOME
", "SQLEXCEPTION
", "SQLSTATE
", "SQLWARNING
", "START
", "SUM
", "TABLE
", "THEN
", "TIME
", "TIMESTAMP
", "TO
", "TRIGGER
", "TUPLE
", "UNDO
", "UNION
", "UNIQUE
", "UNTIL
", "UPDATABLE
", "UPDATE
", "USER
", "USING
", "VALUES
", "VARBINARY
", "VARCHAR
", "VARYING
", "VIEW
", "WHEN
", "WHERE
", "WHILE
", "WITH
".
Řada dalších slov má v SQL předem daný význam, nejsou však vyhrazena, a tudíž je lze volně používat ve funkci identifikátorů.
Rozšíření proti normě
Odlišnosti od normy
Lexikální elementy | Čísla |