Где я могу найти документацию для конкретного вида SQL, используемого движком Jet 4.0? - PullRequest
5 голосов
/ 09 февраля 2011

То, что я думаю, совпадает с тем, которое используется в MS Access, и я думаю, это не то же самое, что используется MySQL и другими.Мне нужна документация для этого конкретного "вида" или "подмножества" языка SQL.

Ответы [ 5 ]

4 голосов
/ 10 февраля 2011

Здесь - самая последняя версия Access SQL Reference (Access 2010).

Однако руководства по ответу @ Remou являются наиболее полезным ресурсом, доступным для Microsoft, поскольку они более 10 лет и не учитывают изменения, внесенные в эпоху Access 2007 ACE (т.е. многозначные типы данных - содрогнуться!)


Слово мудрому: Справочник по SQL Access содержит ошибки включения и пропуска, которых слишком много, чтобы их можно было подробно описать, поэтому вот краткий пример:

CREATE TABLE Заявление (Microsoft Access SQL)

CREATE TEMPORARY TABLE Синтаксис никогда не поддерживался Access, и Access даже не имеет функции временных таблиц. Похоже, что кто-то, пишущий справку, поднял это из спецификации SQL-92, думая, что Access совместим с SQL-92!

WITH COMPRESSION синтаксис поддерживается только в режиме запросов ANSI-92 Access **. Было бы полезно, если бы на это было указано.

Цитата: «Вы можете использовать NOT NULL .. в именованном предложении CONSTRAINT, которое применяется к ... множественному полю с именем CONSTRAINT» - опять же, это не функция Access, и попытка использование синтаксиса приводит к ошибке.

DEFAULT: очень полезно иметь возможность указать значение DEFAULT для столбца, и Access действительно поддерживает этот синтаксис, но он отсутствует на этой странице справки.

IDENTITY: это ключевое слово отсутствует в Access SQL Reference, и эта страница является логическим местом для его поиска.

CHECK ограничение: потенциально одна из самых мощных функций Access SQL, но почти полностью отсутствующая в всей документации Microsoft, просто кратко упоминается в нескольких статьях.

Как я уже сказал, это всего лишь одна страница! И да, я дал отзыв Microsoft и группе доступа об этих ошибках (фактически, каждый раз, когда они выпускают новую версию), но ошибки остаются: (


Это относится к проприетарному режиму запросов ANSI-92 Access, его не следует путать со стандартом SQL-92. Доступ не является и, к сожалению, никогда не будет совместимым с SQL-92, даже начального уровня SQL-92. Кажется, что команда Access удалила свою страницу режима запросов ANSI-92 из справки, возможно, потому, что она тоже содержала ошибки включения, например LIMIT TO nn ROWS в ORDER BY не поддерживается ни Access, ни его синтаксисом SQL.

3 голосов
/ 09 февраля 2011
1 голос
/ 12 февраля 2011

Части Руководства по программированию Jet Database Engine размещены в сети:

Technet: Jet Database Engine

Имейте в виду, что это относится к Jet 3.5, то есть к версии, представленной в Access 97, и что она не включает в себя огромное количество изменений и дополнений либо Jet 4 (A2000, выпущенного в 1999 году) или ACE (A2007, с 2007 года). Тем не менее, он включает в себя множество вещей, которые можно найти только там. У меня есть печатная копия всей книги, и я до сих пор считаю ее чрезвычайно полезной.

1 голос
...