Link to home
Start Free TrialLog in
Avatar of twentythree
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.
Avatar of appari
appari
Flag of India image

if you want to do it without writing code,

define foreign key on order detail table referencing order table with on delete cascade option
ASKER CERTIFIED SOLUTION
Avatar of appari
appari
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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