![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Помогите решить проблемму с запросом. Внешний ключ. [D7, IB6.x]
Hmm © (2004-10-20 10:37:00)Здраствуйте. Вот кусочек SQL-кода:
/* Создание таблицы Т1 Заказщик */
create table T1 (
imja char (15) Not Null,
adres char (15) default 'N/A',
telefon char (15) default 'N/A',
id_zakazshika char (15) Not Null Primary Key
);
/* Создание таблицы Т2 Заказ на изделие */
create table T2 (
shifr char (15) Not Null,
kol_vo integer Not Null,
data date,
srock integer,
id_zakazshika char (15) Not Null,
id_zakaza char (15) Not Null Primary Key,
foreign key (id_zakazshika) references T1(id_zakazshika) ON DELETE SET CASCADEON UPDATE CASCADE
);
ругается на выделенное слово CASCADE, если заменить его скажем на Default ругаться перестает, даже на второе слово (после Update).
(комилировал данный код на IBConsole)
помогите решить проблемму!
И еще вопрос, читая справку, так и не понял как обозначить запрещение удаления записи в родительской таблице, если есть запись в дочерней. В тех примерах, что видел я это звучало так On delete set restricte. Как выйти из положения в Ibase Sql ?
Hmm (2004-10-20 11:03:00) [1]Большое спасибо!
Johnmen (2004-10-20 10:46:00) [2]И ещё ответ.
Ничего обозначать не надо. Достаточно наличия FK. Без опций.
Johnmen (2004-10-20 10:41:00) [3]А что тут решать. Просто посмотреть в доку. Синтаксис...
| REFERENCES other_table [(other_col [, other_col …])]
[ON DELETE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]
[ON UPDATE {NO ACTION|CASCADE|SET DEFAULT|SET NULL}]