Solved

How do I access values from the inserted and deleted tables ,when wrting a trigger

Posted on 2009-05-18
4
153 Views
Last Modified: 2012-05-07
How do I access values from the inserted and deleted tables ,when wrting a trigger?
Consider the following trigger written on table CONFIG_PROJECTS.The trigger is created successfully but doesnt fire.


ALTER TRIGGER [dbo].[UTRG_InitializeResources] 

   ON   [dbo].[CONFIG_PROJECTS] 

   FOR INSERT,UPDATE 

AS 

BEGIN

	-- SET NOCOUNT ON added to prevent extra result sets from

	-- interfering with SELECT statements.

	SET NOCOUNT ON;
 

    -- Insert statements for trigger here
 

declare @pmcode varchar(10)

select @pmcode =(select str_empcode_PM  from inserted)

if (@pmcode  != null)

insert into TRANS_RESOURCES values(4,@pmcode,null,'WSZ001',40.3,1)
 

END

Open in new window

0
Comment
Question by:MaithreeD
  • 2
4 Comments
 
LVL 1

Assisted Solution

by:venkatca
venkatca earned 150 total points
ID: 24419217
remove this line and it should work

if (@pmcode  != null)
0
 
LVL 1

Assisted Solution

by:venkatca
venkatca earned 150 total points
ID: 24419230
if you still need to check null values try this instead

if isnull(@pmcode,'')<>''
0
 
LVL 22

Assisted Solution

by:pivar
pivar earned 150 total points
ID: 24419235
Hi,

Since an insert/update can affect multiple rows change your trigger like this. Otherwise this should run fine on inserts and update to the table CONFIG_PROJECTS where str_empcode_PM
is not null.

/peter



ALTER TRIGGER [dbo].[UTRG_InitializeResources] 

   ON   [dbo].[CONFIG_PROJECTS] 

   FOR INSERT,UPDATE 

AS 

BEGIN

        -- SET NOCOUNT ON added to prevent extra result sets from

        -- interfering with SELECT statements.

        SET NOCOUNT ON;

 

    -- Insert statements for trigger here

 

insert into TRANS_RESOURCES 

select 4,str_empcode_PM,null,'WSZ001',40.3,1  

from inserted

where str_empcode_PM!= null

 

END

Open in new window

0
 
LVL 142

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 200 total points
ID: 24419267
where str_empcode_PM!= null
will not work, unless you had ANSI_NULLS set to OFF.

instead:
where str_empcode_PM IS NOT null
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

by Mark Wills Attending one of Rob Farley's seminars the other day, I heard the phrase "The Accidental DBA" and fell in love with it. It got me thinking about the plight of the newcomer to SQL Server...  So if you are the accidental DBA, or, simp…
Occasionally there is a need to clean table columns, especially if you have inherited legacy data. There are obviously many ways to accomplish that, including elaborate UPDATE queries with anywhere from one to numerous REPLACE functions (even within…
This Micro Tutorial will teach you how to censor certain areas of your screen. The example in this video will show a little boy's face being blurred. This will be demonstrated using Adobe Premiere Pro CS6.
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now