Usos de dados do catálogo
Os aplicativos usam dados do catálogo de várias maneiras. Aqui estão alguns casos de uso comuns:
Construir instruções SQL em tempo de execução. Aplicativos verticais, como um aplicativo de entrada de ordem, contêm instruções SQL embutidas em código. As tabelas e as colunas usadas pelo aplicativo são corrigidas com antecedência, assim como as instruções que acessam essas tabelas. Por exemplo, um aplicativo de entrada de ordem geralmente contém uma só instrução INSERT parametrizada para adicionar novas ordens ao sistema.
Aplicativos genéricos, como um programa de planilha eletrônica que usa ODBC para recuperar dados, geralmente constroem instruções SQL em tempo de execução com base na entrada do usuário. Esse aplicativo pode exigir que o usuário digite os nomes das tabelas e das colunas a serem usadas. Porém, seria mais fácil para o usuário se o aplicativo exibisse listas de tabelas e colunas das quais o usuário poderia fazer seleções. Para criar essas listas, o aplicativo chamaria as funções de catálogo SQLTables e SQLColumns.
Construir instruções SQL durante o desenvolvimento. Ambientes de desenvolvimento de aplicativos normalmente permitem que o programador crie consultas de banco de dados ao longo do desenvolvimento de um programa. As consultas então são codificadas no aplicativo que está sendo criado.
Esses ambientes também poderiam usar SQLTables e SQLColumns para criar listas nas quais o programador poderia fazer seleções. Esses ambientes também podem usar SQLPrimaryKeys e SQLForeignKeys para determinar e mostrar automaticamente relações entre tabelas selecionadas e usar SQLStatistics para determinar e realçar campos indexados para que o programador possa criar consultas eficientes.
Como construir cursores. Um aplicativo, driver ou middleware que fornece um mecanismo de cursor rolável pode usar SQLSpecialColumns para determinar quais colunas identificam exclusivamente uma linha. O programa pode criar um conjunto de chaves contendo os valores dessas colunas para cada linha da qual foi efetuado fetch. Quando o aplicativo rola de volta para a linha, ele usa esses valores para efetuar fetch dos dados mais recentes para a linha. Para obter mais informações sobre cursores e conjuntos de teclas roláveis, confira Cursores roláveis.