Costruzione di un'istruzione SQL (ODBC)

Si applica a: sìSQL Server (tutte le versioni supportate) Sìdatabase SQL di Azure SìIstanza gestita di SQL di Azure sìAzure Synapse Analytics sìParallel Data Warehouse

Le applicazioni ODBC eseguono l'accesso al database quasi sempre mediante l'esecuzione delle istruzioni Transact-SQL. Il formato di tali istruzioni dipende dai requisiti dell'applicazione. Le istruzioni SQL possono essere costruite nei modi seguenti:

  • Hard-coded

    Istruzioni statiche eseguite da un'applicazione come attività fissa.

  • In fase di esecuzione

    Istruzioni SQL costruite in fase di esecuzione che consentono all'utente di personalizzare l'istruzione servendosi di clausole comuni, ad esempio SELECT, WHERE e ORDER BY. Sono incluse query ad hoc immesse dagli utenti.

Il driver ODBC client analizza SQL solo per la sintassi ODBC e ISO non direttamente supportata da , che il SQL Server Motore di database driver trasforma in Transact-SQL . Tutte le SQL sintassi vengono passate all'oggetto Motore di database non modificato, dove SQL Server determinerà se è SQL Server valida. Questo approccio comporta due vantaggi:

  • Riduzione dell'overhead

    L'elaborazione dell'overhead per il driver viene ridotto al minimo, in quanto l'analisi deve essere eseguita solo per un piccolo set di clausole ODBC e ISO.

  • Flessibilità

    I programmatori possono personalizzare la portabilità delle applicazioni. Per migliorare la portabilità rispetto a più database, utilizzare principalmente la sintassi ODBC e ISO. Per utilizzare miglioramenti specifici di SQL Server, utilizzare la sintassi di Transact-SQL appropriata. Il driver ODBC di Native Client supporta la sintassi completa in modo che le applicazioni basate su ODBC possano sfruttare tutte SQL Server Transact-SQL le funzionalità di SQL Server .

L'elenco di colonne di un'istruzione SELECT deve contenere solo le colonne richieste per eseguire l'attività corrente. In questo modo non solo si riduce la quantità di dati inviati attraverso la rete, ma anche l'effetto delle modifiche del database sull'applicazione. Se in un'applicazione non si fa riferimento a una colonna di una tabella, l'applicazione non viene interessata dalle modifiche apportate alla colonna.

Vedere anche

Esecuzione di query (odbc)