Foreign keys do not cascade deletions. If table y references table x on
column a, the attempt to delete records in x with dependent records in y
will yield an error. So the answer to that question is no, your trigger
won't get called because a) y doesn't get touched because that's not
what foreign keys do and b) an error is raised anyway
Regarding the usefulness of triggers...I tend to stay away from them. I
like to keep my data in my database and my logic in my application. I
try to relegate triggers to very simple things like timestamping
records. i.e. things that I won't later wonder "What in the hell is
going on???"
surabhi.ahuja wrote:
> is there an advantage of using a trigger? when the same job can be
> performed by a stored procedure?
>
> one more question is as follows:
> suppose i have a table x, with a primary attribute 'a'
>
> and i have a table y, with the primary attribute 'b', and a foreign
> key 'a'.
>
> suppose i say delete from x where a = '1',
>
> it means that not only the rows from x get deleted but also rows from
> y get deleted.
>
> now i have a trigger which is written for deletes taking place from
> the table y.
>
> however if i say delete from x where a = '1',
>
> will the trigger (mentioned above) still be called? (because delete
> are also taking place from the table y)
>
> thanks,
> regards
> Surabhi
>