|
|
|
Forum Member
      
участник
Last Login: 08.09.2005 9:31
Сообщ.: 48,
Visits: 529
|
|
Вобщем вот код
create table EduEst.dbo.Group_Node ( Id int not null primary key Identity )
create table EduEst.dbo.Group_Child ( Source int not null FOREIGN KEY REFERENCES EduEst.dbo.Group_Node(ID) ON DELETE CASCADE, Destination int not null FOREIGN KEY REFERENCES EduEst.dbo.Group_Node(ID) ON DELETE CASCADE, primary key(Source,Destination), )
Ненужное я выкинул. Это выдает SQLServer Introducing FOREIGN KEY constraint 'FK__Group_Chi__Desti__2CA8951C' on table 'Group_Child' may cause cycles or multiple cascade paths. Specify ON DELETE NO ACTION or ON UPDATE NO ACTION, or modify other FOREIGN KEY constraints. В чем может быть трабл
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.05.2007 13:42
Сообщ.: 352,
Visits: 3 776
|
|
Да ты там такого написал... А чё получить то хотел в итоге ?
create table Group_Node ( Id number not null primary key );
create table Group_Child ( Source number not null, Destination number not null, primary key(Source,Destination), FOREIGN KEY(Source) REFERENCES Group_Node ON DELETE CASCADE );
|
|
|
|
|
Supreme Being
      
участник
Last Login: 10.08.2007 15:25
Сообщ.: 234,
Visits: 2 142
|
|
У тебя получаются циклические ссылки, которые нестыкуются с фундаментальными понятиями реляционных баз данных. :) Смотри свою схему данных. 2freem: изменение с int на number тут не прокатит
|
|
|
|
|
Supreme Being
      
участник
Last Login: 28.05.2007 13:42
Сообщ.: 352,
Visits: 3 776
|
|
|
|
|
|
Supreme Being
      
участник
Last Login: 10.08.2007 15:25
Сообщ.: 234,
Visits: 2 142
|
|
| Ну вот! Если автор топика соизволил показать схему данных было бы несомненно проще! Стало бы видно ссылочки циклические. И соответственно было бы и решение проблеммы более полным :)
|
|
|
|
|
новичок
      
участник
Last Login: 05.10.2005 16:20
Сообщ.: 1,
Visits: 12
|
|
Насчёт несовместимости циклов с реляционной моделью данных я согласен. Но вот то, что multiple cascade paths MS SQL Server 2000 считает ошибкой - по-моему недоработка программистов из MS. Подозреваю, что они посчитали нецелесообразным связываться с рекурсией, увеличивать требования к памяти, усложнять оптимизацию... PostgreSQL 8.0 работает с multiple cascade paths, Power Designer их ошибкой не считает... Может, Стоунбрейкер не разбирается в моделях данных?:)))
А если серьёзно, кто-нибудь знает, MS SQL Server 2005 считает их ошибкой? Не хотелось бы мне от MS уходить, но и поддержку целостности в триггеры, или, того хуже, бизнес-логику, переносить неправильно...
|
|
|
|