Construction d’une instruction SQL (ODBC)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Les applications ODBC effectuent presque tous leur accès à la base de données en exécutant des instructions Transact-SQL. La forme de ces instructions dépend des spécifications d'application. Les instructions SQL peuvent être construites des manières suivantes :

  • Codées de manière irréversible

    Instructions statiques exécutées par une application en tant que tâche fixe.

  • Construction au moment de l'exécution

    Les instructions SQL construites au moment de l'exécution permettent à l'utilisateur de personnaliser l'instruction en utilisant des clauses courantes telles que SELECT, WHERE et ORDER BY. Cela inclut les requêtes ad hoc entrées par les utilisateurs.

Le pilote ODBC du client SQL Server analyse uniquement les instructions SQL pour la syntaxe ODBC et ISO non directement prise en charge par le Moteur de base de données, que le pilote transforme en Transact-SQL. Toutes les autres syntaxes SQL sont transmises au Moteur de base de données inchangé, où SQL Server détermine s’il s’agit d’un serveur SQL Server valide. Cette approche fournit deux avantages :

  • Réduction des coûts

    Les coûts de traitement pour le pilote sont réduits car il doit analyser seulement un petit ensemble de clauses ODBC et ISO.

  • Flexibilité

    Les programmeurs peuvent personnaliser la portabilité de leurs applications. Pour améliorer la portabilité contre plusieurs bases de données, utilisez principalement la syntaxe ODBC et ISO. Pour utiliser des améliorations spécifiques à SQL Server, utilisez la syntaxe Transact-SQL appropriée. Le pilote ODBC SQL Server Native Client prend en charge la syntaxe Transact-SQL complète afin que les applications ODBC puissent tirer parti de toutes les fonctionnalités de SQL Server.

La liste de colonnes dans une instruction SELECT doit contenir uniquement les colonnes requises pour effectuer la tâche actuelle. Cela réduit non seulement la quantité de données envoyées sur le réseau, mais réduit également l'impact des modifications de base de données sur l'application. Si une application ne fait pas référence à une colonne d'une table, elle n'est pas affectée par les modifications apportées à cette colonne.

Voir aussi

Exécution de requêtes (ODBC)