Condividi tramite


Costruzione di un'istruzione SQL (ODBC)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Le applicazioni ODBC eseguono quasi tutti i relativi accessi al database eseguendo 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 di SQL Server Client analizza le istruzioni SQL solo per la sintassi ODBC e ISO non direttamente supportata dal motore di database, che il driver trasforma in Transact-SQL. Tutte le altre sintassi SQL vengono passate alla motore di database invariata, in cui SQL Server determinerà se è valido SQL Server. 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 usare miglioramenti specifici di SQL Server, usare la sintassi Transact-SQL appropriata. Il driver ODBC di SQL Server Native Client supporta la sintassi Transact-SQL completa, in modo che le applicazioni basate su ODBC possano sfruttare tutte 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.

Vedi anche

Esecuzione di query (ODBC)