La posizione del catalogo
La posizione di un nome di catalogo in un identificatore e il modo in cui è separato dal resto dell'identificatore varia da fonte dati a fonte dati. Ad esempio, in un'origine dati Xbase, il nome del catalogo è una directory e, in Microsoft Windows, è separato dal nome del file (che funge da nome della tabella) da una barra rovesciata (\). La figura seguente illustra questa condizione.
In un'origine dati SQL Server, il catalogo è un database ed è separato dai nomi di schema e tabella da un punto (.).
Posizione del catalogo:
In un'origine dati Oracle, il catalogo è anche il database, ma segue il nome della tabella ed è separato dai nomi di schema e tabella con un simbolo (@).
Per determinare il separatore di catalogo e la posizione del nome del catalogo, un'applicazione chiama SQLGetInfo con le opzioni SQL_CATALOG_NAME_SEPARATOR e SQL_CATALOG_LOCATION. Le applicazioni interoperabili devono costruire identificatori in base a questi valori.
Quando si citano identificatori che contengono più di una parte, le applicazioni devono prestare attenzione a citare ciascuna parte separatamente e a non citare il carattere che separa gli identificatori. Ad esempio, l'istruzione seguente per selezionare tutte le righe e le colonne di una tabella Xbase riporta il catalogo (\XBASE\SALES\CORP) e il nome della tabella (Parts.dbf), ma non il separatore del catalogo (\):
SELECT * FROM "\XBASE\SALES\CORP"\"PARTS.DBF"
L'istruzione seguente per selezionare tutte le righe e le colonne di una tabella Oracle include tra virgolette i nomi del catalogo (Sales), dello schema (Corporate) e della tabella (Parts), ma non i separatori del catalogo (@) o dello schema (.).
SELECT * FROM "Corporate"."Parts"@"Sales"
Per informazioni sugli identificatori tra virgolette, vedere la sezione successiva, Identificatori tra virgolette.