twentythree
asked on
Table dependencies in SQL Server 2005
I'm trying to figure out how to set up a dependency in SQL Server 2005. Basically I have an "orders" table and then a "order details" table. I've had this DB for quite a while and it's getting massive and I need to do a major cleanup. When I delete an Order, I want it to delete all the Order Details for that order as well even though they are stored in another table.
Is there an easy way to set it up in SQL? I'm building an ASP page that will remove old orders. I was hoping that SQL could "know" how to remove the Order Details as well without me having to build code for it.
Is there an easy way to set it up in SQL? I'm building an ASP page that will remove old orders. I was hoping that SQL could "know" how to remove the Order Details as well without me having to build code for it.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
other option is write a delete trigger on orders table and within that trigger delete from order details.
as follows:
create TRIGGER trg_orderdelete
ON orders
AFTER delete
as
begin
delete orderdetails
from orderdetails, deleted
where orderdetails.orderid = deleted.orderid
end
as follows:
create TRIGGER trg_orderdelete
ON orders
AFTER delete
as
begin
delete orderdetails
from orderdetails, deleted
where orderdetails.orderid = deleted.orderid
end
define foreign key on order detail table referencing order table with on delete cascade option