Gestire gli identificatori SQL
Un identificatore SQL è il nome di un oggetto del database, come una tabella, una colonna, un utente, un gruppo, un oggetto definito dall'utente e un database. Netezza supporta la definizione SQL 1999 per gli identificatori di nome, che possono avere una lunghezza massima di 128 byte. Esistono due tipi di identificatori, regolari e delimitati.
Identificatore regolare
Un identificatore regolare non fa distinzione tra maiuscole e minuscole; cioè, se si crea un database chiamato SALES, lo si può chiamare usando qualsiasi combinazione di lettere. Ad esempio, SALES, sales, SaLeS, e SALE corrispondono tutti al database denominato SALES. Lo standard ANSI SQL specifica che i sistemi convertono tutti gli identificatori regolari SQL nei corrispondenti caratteri maiuscoli, pertanto il sistema Netezza Performance Server converte qualsiasi identificatore regolare specificato dall'utente in caratteri maiuscoli quando viene salvato nel database e anche quando gli identificatori regolari vengono utilizzati nell'elaborazione delle query.
Gli identificatori regolari possono contenere solo lettere (in qualsiasi alfabeto, non solo in quello latino), sillabe (come nel sillabario giapponese Hiragana), ideogrammi, cifre decimali, trattini bassi e il segno del dollaro ($). Gli identificatori regolari devono iniziare con una lettera; non possono iniziare con una cifra, un trattino basso o il segno del dollaro. Anche gli identificatori regolari non possono essere parole riservate SQL (come descritto in Parole riservate e parole chiave SQL). La codifica del catalogo di Netezza Performance Server è UTF-8; la codifica per qualsiasi visualizzazione dipende dal client.
Identificatore delimitato
Un identificatore delimitato è anche un nome di un oggetto del database, ma è racchiuso tra virgolette doppie e ha considerazioni particolari. Un identificatore delimitato è sensibile alle maiuscole e alle minuscole, pertanto un database denominato "Vendite" non è lo stesso database denominato SALES, ad esempio. Il sistema Netezza Performance Server non converte gli identificatori delimitati nel caso predefinito del sistema. Inoltre, il sistema Netezza Performance Server non salva le doppie virgolette nel database.
All'interno delle doppie virgolette, un identificatore delimitato può includere le stesse lettere, sillabe, ideogrammi, cifre decimali e trattini bassi di un identificatore normale, ma può anche includere spazi, caratteri speciali come trattini e segni di percentuale e parole chiave riservate SQL. Ad eccezione dei trattini bassi, che non sono ammessi, un identificatore delimitato può iniziare con una qualsiasi di queste lettere, cifre o simboli.
SELECT "My Field" FROM "My Table" WHERE "My Field" LIKE 'A%';
La stringa letterale " 'A%' è racchiusa tra virgolette singole.
È possibile modificare il comportamento predefinito delle lettere all'inizializzazione del sistema utilizzando il comando " nzinitsystem -lowercase. Per ulteriori informazioni sul comando 'nzinitsystem, consultare la IBM® Netezza® System Administrator's Guide.