Разные режимы формирования запроса SQL
Разные режимы формирования запроса SQL
В Access 2002 запросы SQL можно создавать в одном из двух режимов запроса ANSI SQL [16] :
• ANSI-89 описывает традиционный синтаксис SQL. Этот режим близок к спецификации ANSI-89 уровня 1, но не является совместимым с ANSI-89 уровня 1. Некоторые средства ANSI-89 SQL не реализованы, а подстановочные знаки удовлетворяют спецификации Visual Basic для приложений (VBA), но не спецификации SQL;
• в ANSI-92 имеются новые зарезервированные слова, правила синтаксиса и подстановочные знаки, расширяющие возможности создания запросов, фильтров и инструкций SQL. Этот режим близок к спецификации ANSI-92 уровня 1, но не является совместимым с ANSI-92 уровня 1. В данном режиме запроса содержится больше синтаксиса ANSI, а подстановочные знаки удовлетворяют спецификации SQL.
В Microsoft Access 2002 средства ADOX [17] позволяют создавать в программах запросы, использующие синтаксис ANSI-92 SQL. Однако любые созданные запросы оставались невидимыми в окне базы данных, поскольку не было средств работы с этим режимом через интерфейс пользователя. В Microsoft Access 2002 имеется возможность установить режим работы с запросами ANSI SQL через интерфейс пользователя в качестве режима по умолчанию для новой базы данных.
Причины использования ANSI-92 SQL
Использование ANSI-92 SQL может потребоваться в следующих случаях:
• предполагается будущее развитие приложения до проекта Microsoft Access, и нужно разработать запросы, которые будут выполняться с минимальными изменениями в базе данных Microsoft SQL Server SQL Server;
• необходимо воспользоваться преимуществами новых средств, отсутствующих в ANSI-89 SQL, таких как:
– изменение настроек безопасности с помощью инструкций SQL GRANT и REVOKE;
– использование предиката DISTINCT в ссылке статистической функции, например SUM(DISTINCT);
– использование предложения LIMIT TO nn ROWS для ограничения числа строк, возвращаемых запросом.
Причины использования запросов, созданных в разных режимах ANSI SQL
Два режима запросов ANSI SQL – ANSI-89 и ANSI-92 – являются несовместимыми. При создании базы данных Microsoft Access необходимо решить, какой режим запросов будет применяться, поскольку одновременное использование запросов, созданных в обоих режимах, может привести к ошибкам при выполнении или непредсказуемым результатам. Диапазоны типов данных, зарезервированные слова и подстановочные знаки в этих режимах различаются.
Пример запроса с использованием подстановочных знаков
Запрос с использованием подстановочных знаков в условиях отбора может в разных режимах возвращать разные результаты. Так, по-разному будут выполняться следующие запросы:
• запрос ANSI-89 SQL в базе данных, настроенной на режим запросов ANSI-92, например:
SELECT * FROM Фирмы WHERE Страна Like «U*»
В нем будут возвращены все фирмы из страны U*, а не из всех стран на U, поскольку звездочка (*) не является подстановочным знаком в ANSI-92 SQL; • запрос ANSI-92 SQL в базе данных, настроенной на режим запросов ANSI-89, например:
SELECT * FROM Фирмы WHERE Страна Like «U%»
В нем будут возвращены все клиенты из страны U%, а не из всех стран на U, поскольку знак процентов (%) не является подстановочным знаком в ANSI-89 SQL. Пример запроса с совпадающими именем поля и псевдонимом Если в запросе применен псевдоним, совпадающий с именем столбца в базе данных, и создается вычисляемое поле, использующее неоднозначное имя, то в двух режимах запрос будет возвращать разные результаты. Например:
SELECT Fiie1.Kpoмe того, AS Последствия, Fiie1.Последствия, [Последствия]*1.2 AS [Оценка материального ущерба] FROM Fiie1;
В режиме ANSI-92 SQL Microsoft Access рассчитывает значение Оценка материального ущерба, используя поле Последствия, и увеличивает каждое значение в этом поле на 20 %. В режиме ANSI-89 SQL Microsoft Access рассчитывает значение Оценка материального ущерба, используя псевдоним Последствия, и в результате увеличивает каждое значение поля Кроме того на 20 %. Очевидно, что это далеко не одно и то же. Как избежать затруднений, связанных с одновременным использование разных режимов запросов ANSI SQL в одной базе данных
Советуем избегать следующих действий, чтобы не столкнуться с затруднениями, к которым приводит одновременное использование запросов, созданных в разных режимах ANSI SQL:
• преобразования баз данных Microsoft Access, настроенных на режим запросов ANSI-92 SQL, из формата файлов 2002 в формат файлов 2002 или 97. Режим запросов ANSI-92 SQL поддерживается только в формате файлов 2002;
• смены режима запросов ANSI SQL для текущей базы данных после создания одного или нескольких запросов. Если необходимо это сделать, заново протестируйте существующие запросы и перепишите их;
• импорта запросов, созданных в одном режиме запросов ANSI SQL, в базу данных Microsoft Access, настроенную на использование другого режима, или экспорта запросов, созданных в одном режиме запросов ANSI SQL, в базу данных Microsoft Access, настроенную на использование другого режима;
• смены режима запросов ANSI SQL в существующем приложении. Это может нарушить выполнение приложения и потребовать его переработки. В Microsoft Access 2002 можно менять режим запросов ANSI SQL только программным образом, а любые запросы, созданные в режиме ANSI-92, оказываются скрытыми в окне базы данных. В Microsoft Access 2002 разработчик или пользователь может менять режим запросов ANSI SQL через интерфейс пользователя, а запросы ANSI-92 не являются скрытыми в окне базы данных. Поэтому необходимо предотвратить случайную или преднамеренную смену режима запросов ANSI SQL в приложении, защитив программу и запретив смену режима через интерфейс пользователя;
• использования неоднозначных псевдонимов и имен столбцов. Во избежание затруднений проверяйте, что псевдонимы и имена столбцов в инструкциях SQL являются уникальными.
Режим запросов ANSI SQL по умолчанию для новых баз данных Microsoft Access в форматах файлов 2002 и 2000 Режим ANSI-89 является настройкой по умолчанию для новой базы данных Microsoft Access в формате файлов 2002 и 2000. Невозможно установить режим запроса SQL ANSI-92 для новой базы данных в формате файла 2002, поскольку данный параметр отключен. Режим ANSI-89 является единственной доступной настройкой для базы данных в формате файла Microsoft Access 2002.Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
3.8.2 Технология формирования резюме сообщения
3.8.2 Технология формирования резюме сообщения Простой, но эффективный способ технологии аутентификации основан на резюме сообщения (message digest). Как показано на рис. 3.8, такое резюме вычисляется по содержимому сообщения с помощью секретного ключа. В настоящее время наиболее
15.14.1 Источник формирования модели NFS
15.14.1 Источник формирования модели NFS Отдельные части системы каталогов Unix могут размещаться на различных жестких дисках. Например, файлы и каталоги /etc могут находиться на одном физическом диске, а каталог /var и его подкаталоги — на другом. Команда mount операционной системы
14.4 Разные полезности терминала
14.4 Разные полезности терминала На всякий случай немного коснусь ещё одной темы. Бывает так, что вы что-то запустили в терминале и хотите прервать работу этого чего-то. Обычно это сделать очень просто, достаточно нажать на клавиатуре сочетание клавиш Ctrl-C[55].Есть и другие
Разные проекты – разный результат
Разные проекты – разный результат Эта книга наполнена особой энергией: энергией созидания, позитива и успеха. Она содержит слитки ценнейшей информации. Это мы вам гарантируем.Но как именно вы воспользуетесь этими слитками? Здесь никто вам гарантий дать не может. По
3.4. Разные утилиты
3.4. Разные утилиты TLayoutProТекстовая утилита TLayoutPro (веб-сайт http://itshareware.by.ru/utiLities/other/ tLayoutpro.shtmL) – многофункциональный инструмент, позволяющий решить задачи, связанные с вводом текста. С ее помощью в любое приложение можно вставить специальные символы (©, ®, ™, °, ±, ?…),
Значки бывают разные
Значки бывают разные Как уже было сказано выше, в области содержимого папки отображаются значки вложенных в нее папок и файлов. Значки эти могут выглядеть по-разному. Как? Это вам решать.Разберемся, какие способы отображения значков есть в Проводнике Vista. Для этого на
Глава 15 Разные функции
Глава 15 Разные функции 15.0. Введение В этой главе рассматриваются некоторые аспекты C++, которые плохо вписываются в тематику любой другой главы: указатели функций и членов, константные переменные и функции- члены, независимые операторы (т.е. не члены класса) и несколько
33.7. Разные советы
33.7. Разные советы Для ведения учета использования сценария пользователями, добавьте следующие строки в сценарий. Они запишут в файл отчета название сценария и время запуска.# Добавление (>>) учетной записи, об использовании сценария, в файл отчета.date>> $SAVE_FILE # Дата
25.1 Быстрый метод формирования файла
25.1 Быстрый метод формирования файла Ниже рассматривается быстрый метод формирования файла, содержащего некоторый текст:$ cat >> myfile << NEWFILEВведите какой?нибудь текст, а по завершении ввода в новой строке просто укажите слово NEWFILE. В результате образуется файл myfile,