Posição de catálogo
A posição de um nome de catálogo em um identificador e como ele é separado do restante do identificador varia de fonte de dados para fonte de dados. Por exemplo, em uma fonte de dados do Xbase, o nome do catálogo é um diretório; no Microsoft Windows, ele é separado do nome da tabela (que é um nome de arquivo) por uma barra invertida (\). A ilustração a seguir demonstra essa condição.
Em uma fonte de dados do SQL Server, o catálogo é um banco de dados e é separado dos nomes da tabela e do esquema por um ponto (.).
Em uma fonte de dados do Oracle, o catálogo também é o banco de dados, mas segue o nome da tabela e é separado dos nomes da tabela e do esquema por um arroba (@).
Para determinar o separador do catálogo e a localização do nome do catálogo, o aplicativo chama SQLGetInfo com as opções SQL_CATALOG_NAME_SEPARATOR e SQL_CATALOG_LOCATION. Aplicativos interoperáveis devem criar identificadores de acordo com esses valores.
Ao citar identificadores que contém mais de uma parte, os aplicativos devem ter cuidado em citar cada parte separadamente e não citar o caractere que separa os identificadores. Por exemplo, a instrução a seguir que seleciona todas as linhas e colunas de uma tabela Xbase cita os nomes de catálogo (\XBASE\SALES\CORP) e tabela (Parts.dbf), mas não o separador do catálogo (\):
SELECT * FROM "\XBASE\SALES\CORP"\"PARTS.DBF"
A instrução a seguir que seleciona todas as linhas e colunas de uma tabela Oracle cita os nomes do catálogo (Sales), do esquema (Corporate) e da tabela (Parts), mas não os separadores do catálogo (@) ou do esquema (.):
SELECT * FROM "Corporate"."Parts"@"Sales"
Para obter informações sobre como citar identificadores, consulte a próxima seção, identificadores entre aspas.