Иллюстрированный самоучитель по Microsoft Access 2002

Создание запросов SQL. Сравнение ANSI и Jet SQL.

Зарезервированные слова Jet SQL

Приведенные здесь таблицы предназначены для сравнения зарезервированных слов ANSI SQL и Jet SQL.

Ниже перечисляются зарезервированные слова Jet SQL, которые идентичны зарезервированным словам ANSI SQL (знаком звездочки помечены слова, которые доступны только в режиме ANSI SQL-92):

ADD COMMIT* FETCH* MAX ROLLBACK*
ALL CONSTRAINT FROM MIN SELECT
ALTER COUNT FOREIGN NOT SET
ANY CREATE GRANT* NULL SOME
ALIAS CREATE VIEW* HAVING ON TRANSACTION*
AS CURRENT* IN OR UNION
ASC CURSOR* INDEX ORDER UNIQUE
AUTHORAZATI ON* DECLARE* INNER OUTER UPDATE
AVG DELETE INSERT PARAMETERS VALUE
BEGIN* DESC INTO PRIMARY VALUES
BETWEEN DISALLOW IS PRIVILEGES* WHERE
BY DISTINCT JOIN PROCEDURE WORK*
CHECK* DROP KEY REFERENCES  
CLOSE* DROP VIEW* LEFT REVOKE*  
COLUMN EXISTS LIKE RIGHT  

Зарезервированные слова, обозначающие типы данных, не включены в этот список, т. к. соответствие типов данных ANSI SQL и Jet SQL приводится ниже, в табл. 8.6. Большинство операторов сравнения в ANSI SQL и Jet SQL совпадают: =, <, =<, > и >=. Исключение составляет оператор неравенства. Оператору неравенства! = в ANSI SQL соответствует оператор <> в Jet SQL.

Как и в ANSI SQL, зарезервированное слово Jet SQL IN может быть использовано для задания списка значений в предложении WHERE или списка, созданного подчиненным запросом. Оператор IN также может использоваться для идентификации таблицы в другой базе данных.

Хотя в последней версии Jet SQL появились новые инструкции, связанные с обработкой транзакций (раньше они реализовывались с помощью процедур VBA), тем не менее существует отличие в механизме выполнения транзакции от рекомендуемого ANSI SQL:

  • автоматический запуск транзакции невозможен. Чтобы начать транзакцию, ее необходимо явно запустить с помощью инструкции BEGIN TRANSACTION;
  • допускается пять уровней вложения транзакций. Чтобы запустить вложенную транзакцию, воспользуйтесь инструкцией BEGIN TRANSACTION в контексте существующей транзакции;
  • для присоединенных (связанных) таблиц транзакции не поддерживаются.

В обычном режиме ряд инструкций ANSI SQL не поддерживается, однако их можно реализовать другими средствами Access: меню, кнопками, диалоговыми окнами. В табл. 8.3 приведен список инструкций ANSI SQL и эквивалентные им средства Access.

Таблица 8.3. Зарезервированные слова ANSI SQL, не поддерживаемые Access SQL.

Зарезервированное слово Эквивалент в Access
AUTHORIZATION Диалоговое окно прав доступа
BEGIN Метод Access VBA BeginTrans
CHECK Свойство Условие на значение поля таблицы
CLOSE Кнопка системного меню Закрыть
COMMIT Метод Access VBA CommitTrans
CREATE VIEW Режим конструктора запросов и фильтры
CURRENT Запрос в режиме таблицы, области выделения записи
CURSOR Запрос в режиме таблицы
DECLARE Запрос в режиме таблицы (курсор поддерживается автоматически)
DROP VIEW Режим конструктора запросов
FETCH Поля в форме или отчете
GRANT, PRIVILEGES, REVOKE Диалоговое окно прав доступа
ROLLBACK Метод Access VBA RollbackTrans
TRANSACTION Методы транзакций в Access VBA
VALUES Значения, введенные в таблицы или формы
WORK Метод Access VBA BeginTrans
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.