Microsoft Access Query для построения отношений - PullRequest
1 голос
/ 09 июня 2010

У меня есть следующая таблица:

Таблица Родители с ID столбца и FullName. Идентификатор является первичным ключом типа Auto-Number. Таблица Дети с идентификаторами столбцов, ParentID и FullName. Идентификатор является первичным ключом типа Auto-Number. ParentID имеет тип Number.

Я хочу использовать следующий запрос для создания «каскадного удаления», чтобы при удалении родителя автоматически удалялись все его дочерние элементы.

Я поставил следующий запрос в Access:

ИЗМЕНИТЬ ТАБЛИЦУ ДЕТЕЙ ДОБАВИТЬ ОГРАНИЧЕНИЯ ConstraintName ИНОСТРАННЫЙ КЛЮЧ (PARENTID) ССЫЛКИ РОДИТЕЛИ (ID) НА УДАЛЕННОМ КАСКАДЕ

Однако это не работает. Я получаю следующее сообщение об ошибке: «Синтаксическая ошибка в ограничительном предложении» и слово «DELETE» выделяются.

Любая помощь будет принята с благодарностью.

С уважением, Себ

Ответы [ 2 ]

1 голос
/ 09 июня 2010

Некоторые запросы DDL не будут работать в окне запросов, вам нужно использовать VBA и соединение:

s = "ALTER TABLE CHILDREN ADD CONSTRAINT ConstraintName FOREIGN KEY (PARENTID) " _
& "REFERENCES PARENTS(ID) ON DELETE CASCADE"
CurrentProject.Connection.Execute s
0 голосов
/ 09 июня 2010

Я считаю, что это должно быть на УДАЛЕННОМ КАСКАДЕ, а не НА УДАЛЕННОМ КАСКАДЕ

...