Teď jste offline a čekáte, až se znova připojí internet.

Váš prohlížeč není podporovaný.

Pokud chcete používat tento web, musíte si aktualizovat prohlížeč.

Aktualizovat na nejnovější verzi Internet Exploreru

Chybová zpráva 1785 dochází při vytvoření omezení FOREIGN KEY může způsobit více cest kaskády

Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.

Projděte si také anglickou verzi článku:321843
Příznaky
Při vytvoření omezení FOREIGN KEY, obdržet následující chybovou zprávu:
Server: Zpráva 1785, Level 16 1 stav linky 1 Introducing FOREIGN KEY omezení 'fk_two' v tabulce Tabulka2 způsobit cykly nebo více cest kaskády. Určit ON DELETE ne akce nebo ON UPDATE NO akce nebo upravit jiných omezení FOREIGN KEY. Server: Zpráva 1750, Level 16 1 stav linky 1 nelze vytvořit omezení. Viz předchozí chyby.
Příčina
Protože SQL Server tabulky nemůže objevit více než jednou v seznamu všechny kaskádové referenční akce, které jsou zahájeny DELETE nebo příkazu UPDATE se zobrazí tato chybová zpráva. Například stromu kaskádové referenční akce musí obsahovat pouze jednu cestu určitou tabulku kaskádové stromu referenční akce.
Jak potíže obejít
Tento problém vyřešit, nevytvářejte cizí klíč, vytvořit více než jednu cestu do tabulky v seznamu kaskádové referenční akce.

Vynutit referenční integritu několika způsoby. Deklarativní referenční integrity (DRI) představuje nejzákladnější způsob, ale je také nejméně flexibilní způsob. Pokud potřebujete větší flexibilitu, ale stále chcete vysoký stupeň integrity, můžete použít aktivační události.
Další informace
Následující ukázkový kód je příkladem pokus o vytvoření FOREIGN KEY, který generuje chybovou zprávu:
Use tempdbgocreate table table1 (user_ID integer not null primary key, user_namechar(50) not null)gocreate table table2 (author_ID integer not null primary key, author_namechar(50) not null, lastModifiedBy integer not null, addedby integer notnull)goalter table table2 add constraint fk_one foreign key (lastModifiedby)references table1 (user_ID) on delete cascade on update cascadegoalter table table2 add constraint fk_two foreign key (addedby)references table1(user_ID) on delete no action on update cascadego--this fails with the error because it provides a second cascading path to table2.alter table table2 add constraint fk_two foreign key (addedby)references table1 (user_ID) on delete no action on update no actiongo-- this works.				

Odkazy

Další informace naleznete v tématu "Kaskádové referenční integrity omezení" v SQL Server 2000 Books Online.

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 321843 - Poslední kontrola: 11/02/2007 10:14:14 - Revize: 3.4

  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • kbmt kbbug kbpending kbprb kbprogramming KB321843 KbMtcs
Váš názor
;did=1&t=">) + "//c.microsoft.com/ms.js'><\/script>");