ďťż
 
[MS sql2005] relacje - problem ďťż
 
[MS sql2005] relacje - problem
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[MS sql2005] relacje - problem



PAblo - 27-06-2007 00:04
[MS sql2005] relacje - problem
  Witam
Mam takie pyanie. Czy jest możliwośc ustawienia takiej relacji że: usuniecie
rekordu z kluczem głównym w tabeli X ustawi NULL w tabeli Y z kluczem obcym?
(Relacja X.ID_X=klucz główny - Y.ID_X).
Z gory dzieki za odpowiedzi

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl





wloochacz - 27-06-2007 00:04

  [ciach]
> Mam takie pyanie. Czy jest możliwośc ustawienia takiej relacji że: usuniecie
> rekordu z kluczem głównym w tabeli X ustawi NULL w tabeli Y z kluczem obcym?
> (Relacja X.ID_X=klucz główny - Y.ID_X).
> Z gory dzieki za odpowiedzi

Alter table [Entity2] add foreign key([parent_id]) references [Entity1]
([id]) on update cascade on delete Set Null

Źródło:
SQL Server 2005 Books Online
Cascading Referential Integrity Constraints

url:
ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/udb9/html/54ca1d10-5106-4340-bde4-480b83e7e813.htm

--
wloochacz




PAblo - 27-06-2007 00:04

  > [ciach]

> Alter table [Entity2] add foreign key([parent_id]) references [Entity1]
> ([id]) on update cascade on delete Set Null

dzieki. Robiłem to poprzez Management Studio express i program ten w ogole
nie odswiezał tabeli po dokonaniu takich operacji - zamiast NULL mialem
wciaz dane w polu z kluczem obcym - rozumiem ze programik ten wykonuje
operacje na kursorze po stronie klienta, ale żeby 'odśwież' nie działało to
juz chyba przesada. JEst jakas opcja by to poprawić??

--
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl




Adam =?iso-8859-2?Q?Wi=B6niecki?= - 27-06-2007 00:04

  On 2007-06-26, wloochacz <wl@no.spam> wrote:
> [ciach]
>> Mam takie pyanie. Czy jest możliwośc ustawienia takiej relacji że: usuniecie
>> rekordu z kluczem głównym w tabeli X ustawi NULL w tabeli Y z kluczem obcym?
>> (Relacja X.ID_X=klucz główny - Y.ID_X).
>> Z gory dzieki za odpowiedzi
>
> Alter table [Entity2] add foreign key([parent_id]) references [Entity1]
> ([id]) on update cascade on delete Set Null
>
> Źródło:
> SQL Server 2005 Books Online
> Cascading Referential Integrity Constraints

Dobrze jest zacytować jeszcze fragment o ograniczeniach. Są one
troche mniejsze niż sql 2000 ale nadal brakuje dużo do elastyczności
jaką oferuję np. prosty firebird. W praktyce, w większości przypadków
kończy się na pisaniu wyzwalaczy "instead of" :(

The series of cascading referential actions triggered by a single
DELETE or UPDATE must form a tree that contains no circular references.
No table can appear more than one time in the list of all cascading
referential actions that result from the DELETE or UPDATE. Also,
the tree of cascading referential actions must not have more than
one path to any specified table. Any branch of the tree is ended
when it encounters a table for which NO ACTION has been specified
or is the default.

--
Adam Wiśniecki





wloochacz - 28-06-2007 00:01

  [ciach]
> Dobrze jest zacytować jeszcze fragment o ograniczeniach. Są one
> troche mniejsze niż sql 2000 ale nadal brakuje dużo do elastyczności
> jaką oferuję np. prosty firebird. W praktyce, w większości przypadków
> kończy się na pisaniu wyzwalaczy "instead of" :(
True; w ogóle Firebird ma baaardzo przyjemny SQL :-)
A zupełną porażką, jak dla mnie, jest to że MS SQL co prawda dopuszcza
takie cascade updates, ale tylko jedno (sic!) na tabelę... no ja
pierdykam...
Osobiście mam FK zrealizowane za pomocą triggerów, nie są to instead of,
ponieważ te sa upierdliwe przy refaktoringu bazy.

--
wloochacz
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MSSQL2000] Problem z =?ISO-8859-2?Q?tabel=B1/indeksem/zapytanie?==?ISO-8859-2?Q?m_czy_b=B3=B1d_w_bazie_danych=2E=2E=2E?= mysql i mysql-front, problem String line; if (line=="cos"){...}....problem Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?= [postgres] Problem z =?ISO-8859-2?Q?zmian=B1_struktury_i_z?==?ISO-8859-2?Q?ale=BFno=B6ciami=2E?= [oracle] =?ISO-8859-2?Q?zmia=BFd=BFony_przez_problem=3A_za?==?ISO-8859-2?Q?pytanie_do_hierarchi?= Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] [PGSQL] czy ktos mial problemy z initdb pgsql 8.1 ? [MySQL] Problem z zapisem danych w bazie danych Problem z mysql - can't connect to MySQL/nietypowo...
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lunadance.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com