Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Usuwanie danych z trzech tabel jednoczesnie
Forum PHP.pl > Forum > Bazy danych > Microsoft SQL Server / MSDE
kufalo
Witam, mam trzy nastepujace tabele:

dbo.domeny:
id_domeny (bigint)
nazwa (nvarchar)

dbo.maile:
id_maila (bigint)
nazwa (nvarchar)
id_domeny (bigint)

dbo.aliasy:
id_aliasu (bigint)
nazwa (nvarchar)
id_maila (bigint)

I teraz na podstawie paramentru @id_domeny chce usunac wszystkie informacje zwiazane z daną domeną.

zapytanie 1
questionmark.gif?

zapytanie 2: usuniecie maili nalezacych do domeny:
DELETE FROM dbo.maile WHERE id_domeny = @id_domeny

zapytanie 3: usuniecie domeny:
DELETE FROM dbo.domeny WHERE id_domeny = @id_domeny

Niestety nie wiem jak usunac w 'zapytaniu 1' aliasy nalezace do maili usuwanej domeny....
Prosze o podpowiedz.
Cienki1980
Nie mam pojęcia czy MSSQL obsługuje podzapytania ale jeżeli tak to skorzystaj z czegoś takiego:
  1. DELETE FROM dbo.aliasy WHERE id_maila IN (SELECT DISTINCT id_maila FROM dbo.maile WHERE id_domeny=@id_domeny);
kufalo
Cytat(Cienki1980 @ 7.02.2007, 10:18:59 ) *
Nie mam pojęcia czy MSSQL obsługuje podzapytania ale jeżeli tak to skorzystaj z czegoś takiego:
  1. DELETE FROM dbo.aliasy WHERE id_maila IN (SELECT DISTINCT id_maila FROM dbo.maile WHERE id_domeny=@id_domeny);


Dzieki wielkie, dziala smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.