Поделиться через


Конструирование инструкций SQL (ODBC)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

Приложения ODBC выполняют почти весь доступ к базе данных, выполняя инструкции Transact-SQL. Формат инструкций зависит от требования приложения. Инструкции SQL можно создавать следующими способами.

  • Жестко запрограммированные

    Статические инструкции, которые приложение выполняет в виде фиксированной задачи.

  • Сформированные во время выполнения

    Инструкции SQL, сформированные во время выполнения, дают возможность пользователю приспосабливать инструкцию, используя широко распространенные предложения, например SELECT, WHERE и ORDER BY. Это включает нерегламентированные запросы, вводимые пользователем.

Драйвер ODBC клиента SQL Server анализирует инструкции SQL только для синтаксиса ODBC и ISO, не поддерживаемых напрямую ядро СУБД, который драйвер преобразует в Transact-SQL. Все остальные синтаксисы SQL передаются в ядро СУБД без изменений, где SQL Server определит, является ли он допустимым SQL Server. Такой подход имеет следующие два преимущества.

  • Сокращение издержек

    Издержки при обработке сведены к минимуму, поскольку драйверу приходится просматривать лишь небольшой набор предложений ODBC и ISO.

  • Гибкость

    Программисты могут адаптировать переносимость своих приложений. Чтобы расширить переносимость для различных баз данных, используется прежде всего синтаксис ODBC и ISO. Чтобы использовать улучшения, относящиеся к SQL Server, используйте соответствующий синтаксис Transact-SQL. Драйвер ODBC собственного клиента SQL Server поддерживает полный синтаксис Transact-SQL, чтобы приложения на основе ODBC могли воспользоваться всеми функциями SQL Server.

Список столбцов в инструкции SELECT должен содержать только столбцы, необходимые для выполнения текущей задачи. Это не только сокращает объем данных, отправляемых по сети, но и снижает эффект изменений в базе данных на приложение. Если приложение не ссылается на столбец в таблице, то оно не затрагивается никакими изменениями, сделанными в этом столбце.

См. также

Выполнение запросов (ODBC)