[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

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

Posted on 2009-05-18
4
Medium Priority
?
166 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 450 total points
ID: 24419217
remove this line and it should work

if (@pmcode  != null)
0
 
LVL 1

Assisted Solution

by:venkatca
venkatca earned 450 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 450 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 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 600 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

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

It is possible to export the data of a SQL Table in SSMS and generate INSERT statements. It's neatly tucked away in the generate scripts option of a database.
This article will show a step by step guide on how to mask column values in Oracle 12c using DBMS_REDACT full redaction option. This option is available on licensed Oracle Enterprise edition as part of Oracle's Advanced Security.
With just a little bit of  SQL and VBA, many doors open to cool things like synchronize a list box to display data relevant to other information on a form.  If you have never written code or looked at an SQL statement before, no problem! ...  give i…
Stellar Phoenix SQL Database Repair software easily fixes the suspect mode issue of SQL Server database. It is a simple process to bring the database from suspect mode to normal mode. Check out the video and fix the SQL database suspect mode problem.

607 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