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


---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to