Condividi tramite


Costruzione di un'istruzione SQL (ODBC)

Si applica a: SQL Server Azure SQL DatabaseIstanza gestita di SQL di AzureAzure Synapse Analytics AnalyticsPlatform System (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 del client SQL Server 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 al motore di database invariate, 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 per SQL Server, usare la sintassi Transact-SQL appropriata. Il driver ODBC 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.

Vedere anche

Esecuzione di query (ODBC)