B_gd_n[ ]Sahlean:Declanşator pentru ştergere în cascadă (echivalent cu ON DELETE CASCADE):
CREATE TRIGGER StergereLocalitate
ON Localitate
INSTEAD OF DELETE
AS
DELETE Telefon
FROM Telefon INNER JOIN DELETED ON Telefon.CodLocalitate = DELETED.CodLocalitate
DELETE FROM Localitate
FROM Localitate INNER JOIN DELETED ON Localitate.CodLocalitate = DELETED.CodLocalitate
Go
si aici de ce ai pus
DELETE FROM Localitate
FROM Localitate INNER JOIN DELETED
adica de ce apare acel FROM localitate de 2 ori ... din cate stiu un join se facea astel
select informatie1 , informatie2
from Tabela1 ta inner join Tabela2 tab on ta.informatie1=tab.informatie1
si aici ca si mai sus sa inteleg ca tu ai suprascris DELETE cu INSTEAD OF sa stearga si din tabela telefon atunci cand este apelat sa stearga din tabela localitate nu ?
iar tabela DELETED este o copie a tabelei localitate dupa cum vad eu lucrurile nu ?
am cautat de DELETED si INSERTED si am vazut tutoriale in care ziceau ca daca dau select * from deleted arata ceva dar la mine da eroare ca nu exista . Atunci am crezut ca nu se poate asa ceva in ms sql 2005 si ce am gasit nu era bun. dar vad ca si tu l-ai folosit si spre surprinderea mea merge :D
multumesc pentru sprijin amadurora :).