Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите решить проблемму с запросом. Внешний ключ. [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}]


Наверх

Титульная страница Поиск, карта сайта Написать письмо