Construção de uma Instrução SQL (ODBC)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse Analytics

As aplicações ODBC realizam quase todo o seu acesso à base de dados executando instruções Transact-SQL. A forma destas declarações depende dos requisitos da candidatura. As instruções SQL podem ser construídas das seguintes formas:

  • Codificado fixo

    Instruções estáticas realizadas por uma aplicação como uma tarefa fixa.

  • Construído em tempo de execução

    Instruções SQL construídas em tempo de execução que permitem ao utilizador adaptar a instrução usando cláusulas comuns, como SELECT, WHERE e ORDER BY. Isto inclui consultas ad hoc inseridas pelos utilizadores.

O driver ODBC do SQL Server Client analisa apenas instruções SQL para sintaxe ODBC e ISO não diretamente suportadas pelo Database Engine, que o driver transforma em Transact-SQL. Toda a restante sintaxe SQL é passada para o Database Engine sem alterações, onde o SQL Server determina se é válido no SQL Server. Esta abordagem traz dois benefícios:

  • Redução dos custos fixos

    A sobrecarga de processamento do driver é minimizada porque só tem de analisar um pequeno conjunto de cláusulas ODBC e ISO.

  • Flexibilidade

    Os programadores podem adaptar a portabilidade das suas aplicações. Para melhorar a portabilidade em múltiplas bases de dados, utilize principalmente a sintaxe ODBC e ISO. Para usar melhorias específicas de SQL Server, utilize a sintaxe Transact-SQL apropriada. O driver ODBC SQL Server Native Client suporta toda a sintaxe Transact-SQL para que as aplicações baseadas em ODBC possam tirar partido de todas as funcionalidades SQL Server.

A lista de colunas numa instrução SELECT deve conter apenas as colunas necessárias para executar a tarefa atual. Isto não só reduz a quantidade de dados enviados pela rede, como também diminui o efeito das alterações na base de dados na aplicação. Se uma aplicação não referenciar uma coluna de uma tabela, então a aplicação não é afetada por quaisquer alterações feitas a essa coluna.