Posição no 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 Xbase, o nome do catálogo é um diretório e, no Microsoft Windows, é 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 do esquema e dos nomes de tabela por um ponto (.).
Em uma fonte de dados Oracle, o catálogo também é o banco de dados, mas segue o nome da tabela e é separado do esquema e dos nomes da tabela por um sinal de arroba (@).
Para determinar o separador de catálogo e o local do nome do catálogo, um aplicativo chama SQLGetInfo com as opções SQL_CATALOG_NAME_SEPARATOR e SQL_CATALOG_LOCATION. As aplicações interoperáveis devem construir identificadores de acordo com estes valores.
Ao citar identificadores que contêm mais de uma parte, os aplicativos devem ter o cuidado de citar cada parte separadamente e não citar o caractere que separa os identificadores. Por exemplo, a instrução a seguir para selecionar 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 de catálogo (\):
SELECT * FROM "\XBASE\SALES\CORP"\"PARTS.DBF"
A instrução a seguir para selecionar todas as linhas e colunas de uma tabela Oracle cita os nomes de catálogo (Sales), schema (Corporate) e table (Parts), mas não os separadores de catálogo (@) ou esquema (.):
SELECT * FROM "Corporate"."Parts"@"Sales"
Para obter informações sobre como citar identificadores, consulte a próxima seção, Identificadores cotados.