Create One Trigger For Both Update and Delete

Create One Trigger For Both Update and Delete

am 30.04.2007 15:02:57 von Satish

hi,
CAn i have one trigger for both Update and Delete
Delete Trigger
---------------------
create Trigger [tr_delete_user_log]
on [dbo].[user_log] for delete
as
begin
insert into z_user_log select * from deleted
end

Trigger Update
---------------------
CREATE Trigger [tr_update_user_log]
on [dbo].[user_log] for update
as
begin
insert into z_user_log select * from deleted
end

Can i have one trigger instead of these Triggers ..

Re: Create One Trigger For Both Update and Delete

am 30.04.2007 22:10:35 von Hugo Kornelis

On 30 Apr 2007 06:02:57 -0700, satish wrote:

>hi,
>CAn i have one trigger for both Update and Delete
(snip)
>Can i have one trigger instead of these Triggers ..

Hi satish,

Yes.

CREATE Trigger [tr_update_delete_user_log]
on [dbo].[user_log] for update, delete
as
begin
insert into z_user_log select * from deleted
end


--
Hugo Kornelis, SQL Server MVP
My SQL Server blog: http://sqlblog.com/blogs/hugo_kornelis

Re: Create One Trigger For Both Update and Delete

am 30.04.2007 23:31:28 von Erland Sommarskog

satish (satishkumar.gourabathina@gmail.com) writes:
> CAn i have one trigger for both Update and Delete
> Delete Trigger
> ---------------------
> create Trigger [tr_delete_user_log]
> on [dbo].[user_log] for delete
> as
> begin
> insert into z_user_log select * from deleted
> end

As Hugo said, you can. Permit me to point that your example exhibits
two cases of bad practice:

o INSERT without a values list. If someone adds a column to user_log,
the INSERT statement will fail.
o SELECT *. While convenient for ad hoc queries, it's bad in production
code. In this example - if someone adds or removes a column - or
just changes the column order, the INSERT statement will fail. SELECT *
also make it more difficult to find where different columns are
actually used.


--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se

Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downlo ads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books .mspx

Re: Create One Trigger For Both Update and Delete

am 01.05.2007 23:02:37 von Hugo Kornelis

On Mon, 30 Apr 2007 21:31:28 +0000 (UTC), Erland Sommarskog wrote:

> Permit me to point that your example exhibits
>two cases of bad practice:
(snip)

Hi Erland,

Thanks for stepping in. I new feel so bad for not mentioning that
myself. Please remind me not to reply when tired in the future :-)

--
Hugo Kornelis, SQL Server MVP
My SQL Server blog: http://sqlblog.com/blogs/hugo_kornelis