Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2005 Forums
 Transact-SQL (2005)
 " statement must be terminated with a semi colon"

Author  Topic 

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-08-15 : 00:23:19
Hi i am trying to create a trigger but am getting an error and can't seem to fix this.

This is the error

Msg 156, Level 15, State 1, Procedure SITE_UPDATE, Line 21
Incorrect syntax near the keyword 'with'.
Msg 319, Level 15, State 1, Procedure SITE_UPDATE, Line 21
Incorrect syntax near the keyword 'with'. If this statement is a common table expression or an xmlnamespaces clause, the previous statement must be terminated with a semicolon.



and here is the trigger statement



CREATE TRIGGER [dbo].[SITE_UPDATE] ON [dbo].[CallLog]
FOR INSERT, UPDATE

AS

Declare @CalliD Varchar(8)
Declare @MyVAL varchar(8000)

Select @callid=Callid
FROM inserted WHERE
isnull(inserted.SITES,'') > ''


IF @Callid IS NOT NULL
Begin

-----------------
Select @MyVal=

with cte ("name", "rating") as
(Select Clifton01N as "Name", Clifton01R as "Rating" from inserted where Clifton01Y = 'X' and Clifton01N > '' and callid = @CallID
Union
Select Clifton02N, Clifton02R from inserted where Clifton02Y = 'X' and Clifton02N > ''and callid = @CallID
Union
Select Clifton03N, Clifton03R from inserted where Clifton03Y = 'X' and Clifton03N > ''and callid = @CallID
Union
Select Clifton04N, Clifton04R from inserted where Clifton04Y = 'X' and Clifton04N > ''and callid = @CallID
Union
Select Clifton05N, Clifton05R from inserted where Clifton05Y = 'X' and Clifton05N > ''and callid = @CallID
Union
Select Clifton06N, Clifton06R from inserted where Clifton06Y = 'X' and Clifton06N > ''and callid = @CallID
Union
Select Clifton07N, Clifton07R from inserted where Clifton07Y = 'X' and Clifton07N> ''and callid = @CallID
Union
Select Clifton08N, Clifton08R from inserted where Clifton08Y = 'X' and Clifton08N > ''and callid = @CallID
Union
Select Clifton09N, Clifton09R from inserted where Clifton09Y = 'X' and Clifton09N > ''and callid = @CallID
Union
Select Clifton10N, Clifton10R from inserted where Clifton10Y = 'X' and Clifton10N > ''and callid = @CallID
Union
Select Clifton11N, Clifton11R from inserted where Clifton11Y = 'X' and Clifton11N > ''and callid = @CallID
Union
Select Clifton12N, Clifton12R from inserted where Clifton12Y = 'X' and Clifton12N > ''and callid = @CallID
Union
Select Clifton13N, Clifton13R from inserted where Clifton13Y = 'X' and Clifton13N > ''and callid = @CallID
Union
Select Clifton14N, Clifton14R from inserted where Clifton14Y = 'X' and Clifton14N > ''and callid = @CallID
Union
Select Clifton15N, Clifton15R from inserted where Clifton15Y = 'X' and Clifton15N > ''and callid = @CallID
Union
Select Clifton16N, Clifton16R from inserted where Clifton16Y = 'X' and Clifton16N > ''and callid = @CallID
Union
Select Clifton17N, Clifton17R from inserted where Clifton17Y = 'X' and Clifton17N > ''and callid = @CallID
Union
Select Clifton18N, Clifton18R from inserted where Clifton18Y = 'X' and Clifton18N > ''and callid = @CallID

Union
Select Frenchay01N, Frenchay01R from inserted where Frenchay01Y = 'X' and Frenchay01N > ''and callid = @CallID
Union
Select Frenchay02N, Frenchay02R from inserted where Frenchay02Y = 'X' and Frenchay02N > ''and callid = @CallID
Union
Select Frenchay03N, Frenchay03R from inserted where Frenchay03Y = 'X' and Frenchay03N > ''and callid = @CallID
Union
Select Frenchay04N, Frenchay04R from inserted where Frenchay04Y = 'X' and Frenchay04N > ''and callid = @CallID
Union
Select Frenchay05N, Frenchay05R from inserted where Frenchay05Y = 'X' and Frenchay05N > ''and callid = @CallID
Union
Select Frenchay06N, Frenchay06R from inserted where Frenchay06Y = 'X' and Frenchay06N > ''and callid = @CallID
Union
Select Frenchay07N, Frenchay07R from inserted where Frenchay07Y = 'X' and Frenchay07N > ''and callid = @CallID
Union
Select Frenchay08N, Frenchay08R from inserted where Frenchay08Y = 'X' and Frenchay08N > ''and callid = @CallID
Union
Select Frenchay09N, Frenchay09R from inserted where Frenchay09Y = 'X' and Frenchay09N > ''and callid = @CallID
Union
Select Frenchay10N, Frenchay10R from inserted where Frenchay10Y = 'X' and Frenchay10N > ''and callid = @CallID
Union
Select Frenchay11N, Frenchay11R from inserted where Frenchay11Y = 'X' and Frenchay11N > ''and callid = @CallID
Union
Select Frenchay12N, Frenchay12R from inserted where Frenchay12Y = 'X' and Frenchay12N > ''and callid = @CallID
Union
Select Frenchay13N, Frenchay13R from inserted where Frenchay13Y = 'X' and Frenchay13N > ''and callid = @CallID
Union
Select Frenchay14N, Frenchay14R from inserted where Frenchay14Y = 'X' and Frenchay14N > ''and callid = @CallID
Union
Select Frenchay15N, Frenchay15R from inserted where Frenchay15Y = 'X' and Frenchay15N > ''and callid = @CallID
Union
Select Frenchay16N, Frenchay16R from inserted where Frenchay16Y = 'X' and Frenchay16N > ''and callid = @CallID
Union
Select Frenchay17N, Frenchay17R from inserted where Frenchay17Y = 'X' and Frenchay17N > ''and callid = @CallID
Union
Select Frenchay18N, Frenchay18R from inserted where Frenchay18Y = 'X' and Frenchay18N > ''and callid = @CallID

Union
Select ExeUni01N, ExeUni01R from inserted where ExeUni01Y = 'X' and ExeUni01N > ''and callid = @CallID
Union
Select ExeUni02N, ExeUni02R from inserted where ExeUni02Y = 'X' and ExeUni02N > ''and callid = @CallID
Union
Select ExeUni03N, ExeUni03R from inserted where ExeUni03Y = 'X' and ExeUni03N > ''and callid = @CallID
Union
Select ExeUni04N, ExeUni04R from inserted where ExeUni04Y = 'X' and ExeUni04N > ''and callid = @CallID
Union
Select ExeUni05N, ExeUni05R from inserted where ExeUni05Y = 'X' and ExeUni05N > ''and callid = @CallID
Union
Select ExeUni06N, ExeUni06R from inserted where ExeUni06Y = 'X' and ExeUni06N > ''and callid = @CallID
Union
Select ExeUni07N, ExeUni07R from inserted where ExeUni07Y = 'X' and ExeUni07N > ''and callid = @CallID
Union
Select ExeUni08N, ExeUni08R from inserted where ExeUni08Y = 'X' and ExeUni08N > ''and callid = @CallID
Union
Select ExeUni09N, ExeUni09R from inserted where ExeUni09Y = 'X' and ExeUni09N > ''and callid = @CallID
Union
Select ExeUni10N, ExeUni10R from inserted where ExeUni10Y = 'X' and ExeUni10N > ''and callid = @CallID
Union
Select ExeUni11N, ExeUni11R from inserted where ExeUni11Y = 'X' and ExeUni11N > ''and callid = @CallID
Union
Select ExeUni12N, ExeUni12R from inserted where ExeUni12Y = 'X' and ExeUni12N > ''and callid = @CallID
Union
Select ExeUni13N, ExeUni13R from inserted where ExeUni13Y = 'X' and ExeUni13N > ''and callid = @CallID
Union
Select ExeUni14N, ExeUni14R from inserted where ExeUni14Y = 'X' and ExeUni14N > ''and callid = @CallID
Union
Select ExeUni15N, ExeUni15R from inserted where ExeUni01Y = 'X' and ExeUni15N > ''and callid = @CallID
Union
Select ExeUni16N, ExeUni16R from inserted where ExeUni01Y = 'X' and ExeUni16N > ''and callid = @CallID
Union
Select ExeUni17N, ExeUni17R from inserted where ExeUni01Y = 'X' and ExeUni17N > ''and callid = @CallID
Union
Select ExeUni18N, ExeUni18R from inserted where ExeUni01Y = 'X' and ExeUni18N > ''and callid = @CallID

Union
Select BathCD01N, BathCD01R from inserted where BathCD01Y = 'X' and BathCD01N > ''and callid = @CallID
Union
Select BathCD02N, BathCD02R from inserted where BathCD02Y = 'X' and BathCD02N > ''and callid = @CallID
Union
Select BathCD03N, BathCD03R from inserted where BathCD03Y = 'X' and BathCD03N > ''and callid = @CallID
Union
Select BathCD04N, BathCD04R from inserted where BathCD04Y = 'X' and BathCD04N > ''and callid = @CallID
Union
Select BathCD05N, BathCD05R from inserted where BathCD05Y = 'X' and BathCD05N > ''and callid = @CallID
Union
Select BathCD06N, BathCD06R from inserted where BathCD06Y = 'X' and BathCD06N > ''and callid = @CallID


Union
Select BathJW01N, BathJW01R from inserted where BathJW01Y = 'X' and BathJW01N > ''and callid = @CallID
Union
Select BathJW02N, BathJW02R from inserted where BathJW02Y = 'X' and BathJW02N > ''and callid = @CallID
Union
Select BathJW03N, BathJW03R from inserted where BathJW03Y = 'X' and BathJW03N > ''and callid = @CallID
Union
Select BathJW04N, BathJW04R from inserted where BathJW04Y = 'X' and BathJW04N > ''and callid = @CallID
Union
Select BathJW05N, BathJW05R from inserted where BathJW05Y = 'X' and BathJW05N > ''and callid = @CallID
Union
Select BathJW06N, BathJW06R from inserted where BathJW06Y = 'X' and BathJW06N > ''and callid = @CallID

Union
Select CheltUoG01X, CheltUoG01R from inserted where CheltUoG01 = 'X' and CheltUoG01X > ''and callid = @CallID
Union
Select CheltUoG02X, CheltUoG02R from inserted where CheltUoG02 = 'X' and CheltUoG02X > ''and callid = @CallID
Union
Select CheltUoG03X, CheltUoG03R from inserted where CheltUoG03 = 'X' and CheltUoG03X > ''and callid = @CallID
Union
Select CheltUoG04X, CheltUoG04R from inserted where CheltUoG04 = 'X' and CheltUoG04X > ''and callid = @CallID
Union
Select CheltUoG05X, CheltUoG05R from inserted where CheltUoG05 = 'X' and CheltUoG05X > ''and callid = @CallID
Union
Select CheltUoG06X, CheltUoG06R from inserted where CheltUoG06 = 'X' and CheltUoG06X > ''and callid = @CallID
Union
Select CheltUoG07X, CheltUoG07R from inserted where CheltUoG07 = 'X' and CheltUoG07X > ''and callid = @CallID
Union
Select CheltUoG08X, CheltUoG08R from inserted where CheltUoG08 = 'X' and CheltUoG08X > ''and callid = @CallID
Union
Select CheltUoG09X, CheltUoG09R from inserted where CheltUoG09 = 'X' and CheltUoG09X > ''and callid = @CallID

Union
Select SCAT01N, SCAT01R from inserted where SCAT01Y = 'X' and SCAT01N > ''and callid = @CallID
Union
Select SCAT02N, SCAT02R from inserted where SCAT02Y = 'X' and SCAT02N > ''and callid = @CallID
Union
Select SCAT03N, SCAT03R from inserted where SCAT03Y = 'X' and SCAT03N > ''and callid = @CallID
Union
Select SCAT04N, SCAT04R from inserted where SCAT04Y = 'X' and SCAT04N > ''and callid = @CallID
Union
Select SCAT05N, SCAT05R from inserted where SCAT05Y = 'X' and SCAT05N > ''and callid = @CallID
Union
Select SCAT06N, SCAT06R from inserted where SCAT06Y = 'X' and SCAT06N > ''and callid = @CallID
Union
Select SCAT07N, SCAT07R from inserted where SCAT07Y = 'X' and SCAT07N > ''and callid = @CallID
Union
Select SCAT08N, SCAT08R from inserted where SCAT08Y = 'X' and SCAT08N > ''and callid = @CallID
Union
Select SCAT09N, SCAT09R from inserted where SCAT09Y = 'X' and SCAT09N > ''and callid = @CallID

Union
Select CheltglosCol01N, CheltglosCol01R from inserted where CheltglosCol01Y = 'X' and CheltglosCol01N > ''and callid = @CallID
Union
Select CheltglosCol02N, CheltglosCol02R from inserted where CheltglosCol02Y = 'X' and CheltglosCol02N > ''and callid = @CallID
Union
Select CheltglosCol03N, CheltglosCol03R from inserted where CheltglosCol03Y = 'X' and CheltglosCol03N > ''and callid = @CallID
Union
Select CheltglosCol04N, CheltglosCol04R from inserted where CheltglosCol04Y = 'X' and CheltglosCol04N > ''and callid = @CallID
Union
Select CheltglosCol05N, CheltglosCol05R from inserted where CheltglosCol05Y = 'X' and CheltglosCol05N > ''and callid = @CallID
Union
Select CheltglosCol06N, CheltglosCol06R from inserted where CheltglosCol06Y = 'X' and CheltglosCol06N > ''and callid = @CallID
Union
Select CheltglosCol07N, CheltglosCol07R from inserted where CheltglosCol07Y = 'X' and CheltglosCol07N > ''and callid = @CallID
Union
Select CheltglosCol08N, CheltglosCol08R from inserted where CheltglosCol08Y = 'X' and CheltglosCol08N > ''and callid = @CallID
Union
Select CheltglosCol09N, CheltglosCol09R from inserted where CheltglosCol09Y = 'X' and CheltglosCol09N > ''and callid = @CallID

Union
Select SponsCon01N, SponsCon01R from inserted where SponsCon01Y = 'X' and SponsCon01N > ''and callid = @CallID
Union
Select SponsCon02N, SponsCon02R from inserted where SponsCon02Y = 'X' and SponsCon02N > ''and callid = @CallID
Union
Select SponsCon03N, SponsCon03R from inserted where SponsCon03Y = 'X' and SponsCon03N > ''and callid = @CallID
Union
Select SponsCon04N, SponsCon04R from inserted where SponsCon04Y = 'X' and SponsCon04N > ''and callid = @CallID
Union
Select SponsCon05N, SponsCon05R from inserted where SponsCon05Y = 'X' and SponsCon05N > ''and callid = @CallID
Union
Select SponsCon06N, SponsCon06R from inserted where SponsCon06Y = 'X' and SponsCon06N > ''and callid = @CallID
Union
Select SponsCon07N, SponsCon07R from inserted where SponsCon07Y = 'X' and SponsCon07N > ''and callid = @CallID

Union
Select ClinAcad01N, ClinAcad01R from inserted where ClinAcad01Y = 'X' and ClinAcad01N > ''and callid = @CallID
Union
Select ClinAcad02N, ClinAcad02R from inserted where ClinAcad02Y = 'X' and ClinAcad02N > ''and callid = @CallID
Union
Select ClinAcad03N, ClinAcad03R from inserted where ClinAcad03Y = 'X' and ClinAcad03N > ''and callid = @CallID
Union
Select ClinAcad04N, ClinAcad04R from inserted where ClinAcad04Y = 'X' and ClinAcad04N > ''and callid = @CallID
Union
Select ClinAcad05N, ClinAcad05R from inserted where ClinAcad05Y = 'X' and ClinAcad05N > ''and callid = @CallID
Union
Select ClinAcad06N, ClinAcad06R from inserted where ClinAcad06Y = 'X' and ClinAcad06N > ''and callid = @CallID
Union
Select ClinAcad07N, ClinAcad07R from inserted where ClinAcad07Y = 'X' and ClinAcad07N > ''and callid = @CallID
Union
Select ClinAcad08N, ClinAcad08R from inserted where ClinAcad08Y = 'X' and ClinAcad08N > ''and callid = @CallID
Union
Select ClinAcad09N, ClinAcad09R from inserted where ClinAcad09Y = 'X' and ClinAcad09N > ''and callid = @CallID

Union
Select ExeCol01N, ExeCol01R from inserted where ExeCol01Y = 'X' and ExeCol01N > ''and callid = @CallID
Union
Select ExeCol02N, ExeCol02R from inserted where ExeCol02Y = 'X' and ExeCol02N > ''and callid = @CallID
Union
Select ExeCol03N, ExeCol03R from inserted where ExeCol03Y = 'X' and ExeCol03N > ''and callid = @CallID
Union
Select ExeCol04N, ExeCol04R from inserted where ExeCol04Y = 'X' and ExeCol04N > ''and callid = @CallID
Union
Select ExeCol05N, ExeCol05R from inserted where ExeCol05Y = 'X' and ExeCol05N > ''and callid = @CallID
Union
Select ExeCol06N, ExeCol06R from inserted where ExeCol06Y = 'X' and ExeCol06N > ''and callid = @CallID


Union
Select PlymCity01N, PlymCity01R from inserted where PlymCity01Y = 'X' and PlymCity01N > ''and callid = @CallID
Union
Select PlymCity02N, PlymCity02R from inserted where PlymCity02Y = 'X' and PlymCity02N > ''and callid = @CallID
Union
Select PlymCity03N, PlymCity03R from inserted where PlymCity03Y = 'X' and PlymCity03N > ''and callid = @CallID
Union
Select PlymCity04N, PlymCity04R from inserted where PlymCity04Y = 'X' and PlymCity04N > ''and callid = @CallID
Union
Select PlymCity05N, PlymCity05R from inserted where PlymCity05Y = 'X' and PlymCity05N > ''and callid = @CallID
Union
Select PlymCity06N, PlymCity06R from inserted where PlymCity06Y = 'X' and PlymCity06N > ''and callid = @CallID

Union
Select PlymUni01N, PlymUni01R from inserted where PlymUni01Y = 'X' and PlymUni01N > ''and callid = @CallID
Union
Select PlymUni02N, PlymUni02R from inserted where PlymUni02Y = 'X' and PlymUni02N > ''and callid = @CallID
Union
Select PlymUni03N, PlymUni03R from inserted where PlymUni03Y = 'X' and PlymUni03N > ''and callid = @CallID
Union
Select PlymUni04N, PlymUni04R from inserted where PlymUni04Y = 'X' and PlymUni04N > ''and callid = @CallID
Union
Select PlymUni05N, PlymUni05R from inserted where PlymUni05Y = 'X' and PlymUni05N > ''and callid = @CallID
Union
Select PlymUni06N, PlymUni06R from inserted where PlymUni06Y = 'X' and PlymUni06N > ''and callid = @CallID


Union
Select BridCol01N, BridCol01R from inserted where BridCol01Y = 'X' and BridCol01N > ''and callid = @CallID
Union
Select BridCol02N, BridCol02R from inserted where BridCol02Y = 'X' and BridCol02N > ''and callid = @CallID
Union
Select BridCol03N, BridCol03R from inserted where BridCol03Y = 'X' and BridCol03N > ''and callid = @CallID
Union
Select BridCol04N, BridCol04R from inserted where BridCol04Y = 'X' and BridCol04N > ''and callid = @CallID


Union
Select RAC01N, RAC01R from inserted where RAC01Y = 'X' and RAC01N > ''and callid = @CallID
Union
Select RAC02N, RAC02R from inserted where RAC02Y = 'X' and RAC02N > ''and callid = @CallID
Union
Select RAC03N, RAC03R from inserted where RAC03Y = 'X' and RAC03N > ''and callid = @CallID
Union
Select RAC04N, RAC04R from inserted where RAC04Y = 'X' and RAC04N > ''and callid = @CallID

Union
Select CIRENCESTER01N, CIRENCESTER01R from inserted where CIRENCESTER01Y = 'X' and CIRENCESTER01N > ''and callid = @CallID
Union
Select CIRENCESTER02N, CIRENCESTER02R from inserted where CIRENCESTER02Y = 'X' and CIRENCESTER02N > ''and callid = @CallID
Union
Select CIRENCESTER03N, CIRENCESTER03R from inserted where CIRENCESTER03Y = 'X' and CIRENCESTER03N > ''and callid = @CallID
Union
Select CIRENCESTER04N, CIRENCESTER04R from inserted where CIRENCESTER04Y = 'X' and CIRENCESTER04N > ''and callid = @CallID


Union
Select POP101X, POP101R from inserted where POP101Y = 'X' and POP101X > ''and callid = @CallID
Union
Select POP102X, POP102R from inserted where POP102Y = 'X' and POP102X > ''and callid = @CallID



Union
Select POP201N, POP201R from inserted where POP201Y = 'X' and POP201N > ''and callid = @CallID
Union
Select POP202N, POP202R from inserted where POP202Y = 'X' and POP202N > ''and callid = @CallID
)

Select --cte.*, circuit.circuitname, circuit.popname ,
top 1 (STUFF((SELECT ', ' + [circuitname] FROM circuit FOR XML PATH('')),1,1,''))
from cte
join circuit on cte.name = circuit.circuitdesc
and cte.rating
= circuit.circuitrole



----------------

UPDATE CallLog
set

SITES = @MyVal

Where calllog.CallID = @CallID



END

slimt_slimt
Aged Yak Warrior

746 Posts

Posted - 2010-08-15 : 02:51:02
is all this code going into one trigger?
Go to Top of Page

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-08-15 : 03:05:09
Yes - unfortunately.

I don't know how to make it smaller

Go to Top of Page

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2010-08-15 : 03:07:12
the error message is self explanatory. put a semicolon before with as

;With CTE....

------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/

Go to Top of Page

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-08-15 : 03:13:07
tried this

Select @MyVal=

;with cte ("name", "rating") as

and i get

Msg 102, Level 15, State 1, Procedure SITE_UPDATE, Line 21
Incorrect syntax near ';'.
Go to Top of Page

webfred
Master Smack Fu Yak Hacker

8781 Posts

Posted - 2010-08-15 : 07:49:23
What do you think should be the value for @MyVal when the trigger is executing...


No, you're never too old to Yak'n'Roll if you're too young to die.
Go to Top of Page

webfred
Master Smack Fu Yak Hacker

8781 Posts

Posted - 2010-08-15 : 07:52:51
Maybe you mean this?
Select --cte.*, circuit.circuitname, circuit.popname ,
@MyValue = top 1 (STUFF((SELECT ', ' + [circuitname] FROM circuit FOR XML PATH('')),1,1,''))
from cte
join circuit on cte.name = circuit.circuitdesc
and cte.rating
= circuit.circuitrole

But think about this
quote:
Select @callid=Callid
FROM inserted WHERE
isnull(inserted.SITES,'') > ''


will not work if the trigger is fired with more than one affected rows.


No, you're never too old to Yak'n'Roll if you're too young to die.
Go to Top of Page

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-08-15 : 08:12:03
Hi Webfred, I appreciate your help again.

I just tried to amend the query to
Select --cte.*, circuit.circuitname, circuit.popname ,
@MyVal= top 1 (STUFF((SELECT ', ' + [circuitname] FROM circuit FOR XML PATH('')),1,1,''))
from cte
join circuit on cte.name = circuit.circuitdesc
and cte.rating
= circuit.circuitrole


as you suggested

and when i parse the query i get

Msg 156, Level 15, State 1, Procedure SITE_UPDATE, Line 335
Incorrect syntax near the keyword 'top'.
Msg 156, Level 15, State 1, Procedure SITE_UPDATE, Line 335
Incorrect syntax near the keyword 'FOR'.



any other ideas?

I also realise your right about only one affected row. I figured I need to try to get it working at least on one row then i can look at ways of making it better.
Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2010-08-15 : 09:29:23
You DON'T need dynamic SQL for this. There is nothing in the code that needs to be put in a dynamic query.
CREATE TRIGGER	dbo.SITE_UPDATE
ON dbo.CallLog
FOR INSERT,
UPDATE
AS

SET NOCOUNT ON

DECLARE @Stage TABLE
(
CallID INT,
[Name] VARCHAR(20),
[Rating] INT
)

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, Clifton01N, Clifton01R FROM inserted WHERE Clifton01Y = 'X' AND Clifton01N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton02N, Clifton02R FROM inserted WHERE Clifton02Y = 'X' AND Clifton02N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton03N, Clifton03R FROM inserted WHERE Clifton03Y = 'X' AND Clifton03N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton04N, Clifton04R FROM inserted WHERE Clifton04Y = 'X' AND Clifton04N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton05N, Clifton05R FROM inserted WHERE Clifton05Y = 'X' AND Clifton05N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton06N, Clifton06R FROM inserted WHERE Clifton06Y = 'X' AND Clifton06N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton07N, Clifton07R FROM inserted WHERE Clifton07Y = 'X' AND Clifton07N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton08N, Clifton08R FROM inserted WHERE Clifton08Y = 'X' AND Clifton08N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton09N, Clifton09R FROM inserted WHERE Clifton09Y = 'X' AND Clifton09N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton10N, Clifton10R FROM inserted WHERE Clifton10Y = 'X' AND Clifton10N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton11N, Clifton11R FROM inserted WHERE Clifton11Y = 'X' AND Clifton11N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton12N, Clifton12R FROM inserted WHERE Clifton12Y = 'X' AND Clifton12N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton13N, Clifton13R FROM inserted WHERE Clifton13Y = 'X' AND Clifton13N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton14N, Clifton14R FROM inserted WHERE Clifton14Y = 'X' AND Clifton14N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton15N, Clifton15R FROM inserted WHERE Clifton15Y = 'X' AND Clifton15N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton16N, Clifton16R FROM inserted WHERE Clifton16Y = 'X' AND Clifton16N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton17N, Clifton17R FROM inserted WHERE Clifton17Y = 'X' AND Clifton17N > '' AND Sites > '' UNION ALL
SELECT CallID, Clifton18N, Clifton18R FROM inserted WHERE Clifton18Y = 'X' AND Clifton18N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, Frenchay01N, Frenchay01R FROM inserted WHERE Frenchay01Y = 'X' AND Frenchay01N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay02N, Frenchay02R FROM inserted WHERE Frenchay02Y = 'X' AND Frenchay02N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay03N, Frenchay03R FROM inserted WHERE Frenchay03Y = 'X' AND Frenchay03N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay04N, Frenchay04R FROM inserted WHERE Frenchay04Y = 'X' AND Frenchay04N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay05N, Frenchay05R FROM inserted WHERE Frenchay05Y = 'X' AND Frenchay05N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay06N, Frenchay06R FROM inserted WHERE Frenchay06Y = 'X' AND Frenchay06N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay07N, Frenchay07R FROM inserted WHERE Frenchay07Y = 'X' AND Frenchay07N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay08N, Frenchay08R FROM inserted WHERE Frenchay08Y = 'X' AND Frenchay08N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay09N, Frenchay09R FROM inserted WHERE Frenchay09Y = 'X' AND Frenchay09N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay10N, Frenchay10R FROM inserted WHERE Frenchay10Y = 'X' AND Frenchay10N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay11N, Frenchay11R FROM inserted WHERE Frenchay11Y = 'X' AND Frenchay11N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay12N, Frenchay12R FROM inserted WHERE Frenchay12Y = 'X' AND Frenchay12N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay13N, Frenchay13R FROM inserted WHERE Frenchay13Y = 'X' AND Frenchay13N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay14N, Frenchay14R FROM inserted WHERE Frenchay14Y = 'X' AND Frenchay14N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay15N, Frenchay15R FROM inserted WHERE Frenchay15Y = 'X' AND Frenchay15N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay16N, Frenchay16R FROM inserted WHERE Frenchay16Y = 'X' AND Frenchay16N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay17N, Frenchay17R FROM inserted WHERE Frenchay17Y = 'X' AND Frenchay17N > '' AND Sites > '' UNION ALL
SELECT CallID, Frenchay18N, Frenchay18R FROM inserted WHERE Frenchay18Y = 'X' AND Frenchay18N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, ExeUni01N, ExeUni01R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni01N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni02N, ExeUni02R FROM inserted WHERE ExeUni02Y = 'X' AND ExeUni02N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni03N, ExeUni03R FROM inserted WHERE ExeUni03Y = 'X' AND ExeUni03N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni04N, ExeUni04R FROM inserted WHERE ExeUni04Y = 'X' AND ExeUni04N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni05N, ExeUni05R FROM inserted WHERE ExeUni05Y = 'X' AND ExeUni05N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni06N, ExeUni06R FROM inserted WHERE ExeUni06Y = 'X' AND ExeUni06N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni07N, ExeUni07R FROM inserted WHERE ExeUni07Y = 'X' AND ExeUni07N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni08N, ExeUni08R FROM inserted WHERE ExeUni08Y = 'X' AND ExeUni08N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni09N, ExeUni09R FROM inserted WHERE ExeUni09Y = 'X' AND ExeUni09N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni10N, ExeUni10R FROM inserted WHERE ExeUni10Y = 'X' AND ExeUni10N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni11N, ExeUni11R FROM inserted WHERE ExeUni11Y = 'X' AND ExeUni11N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni12N, ExeUni12R FROM inserted WHERE ExeUni12Y = 'X' AND ExeUni12N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni13N, ExeUni13R FROM inserted WHERE ExeUni13Y = 'X' AND ExeUni13N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni14N, ExeUni14R FROM inserted WHERE ExeUni14Y = 'X' AND ExeUni14N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni15N, ExeUni15R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni15N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni16N, ExeUni16R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni16N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni17N, ExeUni17R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni17N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeUni18N, ExeUni18R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni18N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, BathCD01N, BathCD01R FROM inserted WHERE BathCD01Y = 'X' AND BathCD01N > '' AND Sites > '' UNION ALL
SELECT CallID, BathCD02N, BathCD02R FROM inserted WHERE BathCD02Y = 'X' AND BathCD02N > '' AND Sites > '' UNION ALL
SELECT CallID, BathCD03N, BathCD03R FROM inserted WHERE BathCD03Y = 'X' AND BathCD03N > '' AND Sites > '' UNION ALL
SELECT CallID, BathCD04N, BathCD04R FROM inserted WHERE BathCD04Y = 'X' AND BathCD04N > '' AND Sites > '' UNION ALL
SELECT CallID, BathCD05N, BathCD05R FROM inserted WHERE BathCD05Y = 'X' AND BathCD05N > '' AND Sites > '' UNION ALL
SELECT CallID, BathCD06N, BathCD06R FROM inserted WHERE BathCD06Y = 'X' AND BathCD06N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, BathJW01N, BathJW01R FROM inserted WHERE BathJW01Y = 'X' AND BathJW01N > '' AND Sites > '' UNION ALL
SELECT CallID, BathJW02N, BathJW02R FROM inserted WHERE BathJW02Y = 'X' AND BathJW02N > '' AND Sites > '' UNION ALL
SELECT CallID, BathJW03N, BathJW03R FROM inserted WHERE BathJW03Y = 'X' AND BathJW03N > '' AND Sites > '' UNION ALL
SELECT CallID, BathJW04N, BathJW04R FROM inserted WHERE BathJW04Y = 'X' AND BathJW04N > '' AND Sites > '' UNION ALL
SELECT CallID, BathJW05N, BathJW05R FROM inserted WHERE BathJW05Y = 'X' AND BathJW05N > '' AND Sites > '' UNION ALL
SELECT CallID, BathJW06N, BathJW06R FROM inserted WHERE BathJW06Y = 'X' AND BathJW06N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, CheltUoG01X, CheltUoG01R FROM inserted WHERE CheltUoG01 = 'X' AND CheltUoG01X > '' AND Sites > '' UNION ALL
SELECT CallID, CheltUoG02X, CheltUoG02R FROM inserted WHERE CheltUoG02 = 'X' AND CheltUoG02X > '' AND Sites > '' UNION ALL
SELECT CallID, CheltUoG03X, CheltUoG03R FROM inserted WHERE CheltUoG03 = 'X' AND CheltUoG03X > '' AND Sites > '' UNION ALL
SELECT CallID, CheltUoG04X, CheltUoG04R FROM inserted WHERE CheltUoG04 = 'X' AND CheltUoG04X > '' AND Sites > '' UNION ALL
SELECT CallID, CheltUoG05X, CheltUoG05R FROM inserted WHERE CheltUoG05 = 'X' AND CheltUoG05X > '' AND Sites > '' UNION ALL
SELECT CallID, CheltUoG06X, CheltUoG06R FROM inserted WHERE CheltUoG06 = 'X' AND CheltUoG06X > '' AND Sites > '' UNION ALL
SELECT CallID, CheltUoG07X, CheltUoG07R FROM inserted WHERE CheltUoG07 = 'X' AND CheltUoG07X > '' AND Sites > '' UNION ALL
SELECT CallID, CheltUoG08X, CheltUoG08R FROM inserted WHERE CheltUoG08 = 'X' AND CheltUoG08X > '' AND Sites > '' UNION ALL
SELECT CallID, CheltUoG09X, CheltUoG09R FROM inserted WHERE CheltUoG09 = 'X' AND CheltUoG09X > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, SCAT01N, SCAT01R FROM inserted WHERE SCAT01Y = 'X' AND SCAT01N > '' AND Sites > '' UNION ALL
SELECT CallID, SCAT02N, SCAT02R FROM inserted WHERE SCAT02Y = 'X' AND SCAT02N > '' AND Sites > '' UNION ALL
SELECT CallID, SCAT03N, SCAT03R FROM inserted WHERE SCAT03Y = 'X' AND SCAT03N > '' AND Sites > '' UNION ALL
SELECT CallID, SCAT04N, SCAT04R FROM inserted WHERE SCAT04Y = 'X' AND SCAT04N > '' AND Sites > '' UNION ALL
SELECT CallID, SCAT05N, SCAT05R FROM inserted WHERE SCAT05Y = 'X' AND SCAT05N > '' AND Sites > '' UNION ALL
SELECT CallID, SCAT06N, SCAT06R FROM inserted WHERE SCAT06Y = 'X' AND SCAT06N > '' AND Sites > '' UNION ALL
SELECT CallID, SCAT07N, SCAT07R FROM inserted WHERE SCAT07Y = 'X' AND SCAT07N > '' AND Sites > '' UNION ALL
SELECT CallID, SCAT08N, SCAT08R FROM inserted WHERE SCAT08Y = 'X' AND SCAT08N > '' AND Sites > '' UNION ALL
SELECT CallID, SCAT09N, SCAT09R FROM inserted WHERE SCAT09Y = 'X' AND SCAT09N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, CheltglosCol01N, CheltglosCol01R FROM inserted WHERE CheltglosCol01Y = 'X' AND CheltglosCol01N > '' AND Sites > '' UNION ALL
SELECT CallID, CheltglosCol02N, CheltglosCol02R FROM inserted WHERE CheltglosCol02Y = 'X' AND CheltglosCol02N > '' AND Sites > '' UNION ALL
SELECT CallID, CheltglosCol03N, CheltglosCol03R FROM inserted WHERE CheltglosCol03Y = 'X' AND CheltglosCol03N > '' AND Sites > '' UNION ALL
SELECT CallID, CheltglosCol04N, CheltglosCol04R FROM inserted WHERE CheltglosCol04Y = 'X' AND CheltglosCol04N > '' AND Sites > '' UNION ALL
SELECT CallID, CheltglosCol05N, CheltglosCol05R FROM inserted WHERE CheltglosCol05Y = 'X' AND CheltglosCol05N > '' AND Sites > '' UNION ALL
SELECT CallID, CheltglosCol06N, CheltglosCol06R FROM inserted WHERE CheltglosCol06Y = 'X' AND CheltglosCol06N > '' AND Sites > '' UNION ALL
SELECT CallID, CheltglosCol07N, CheltglosCol07R FROM inserted WHERE CheltglosCol07Y = 'X' AND CheltglosCol07N > '' AND Sites > '' UNION ALL
SELECT CallID, CheltglosCol08N, CheltglosCol08R FROM inserted WHERE CheltglosCol08Y = 'X' AND CheltglosCol08N > '' AND Sites > '' UNION ALL
SELECT CallID, CheltglosCol09N, CheltglosCol09R FROM inserted WHERE CheltglosCol09Y = 'X' AND CheltglosCol09N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, SponsCon01N, SponsCon01R FROM inserted WHERE SponsCon01Y = 'X' AND SponsCon01N > '' AND Sites > '' UNION ALL
SELECT CallID, SponsCon02N, SponsCon02R FROM inserted WHERE SponsCon02Y = 'X' AND SponsCon02N > '' AND Sites > '' UNION ALL
SELECT CallID, SponsCon03N, SponsCon03R FROM inserted WHERE SponsCon03Y = 'X' AND SponsCon03N > '' AND Sites > '' UNION ALL
SELECT CallID, SponsCon04N, SponsCon04R FROM inserted WHERE SponsCon04Y = 'X' AND SponsCon04N > '' AND Sites > '' UNION ALL
SELECT CallID, SponsCon05N, SponsCon05R FROM inserted WHERE SponsCon05Y = 'X' AND SponsCon05N > '' AND Sites > '' UNION ALL
SELECT CallID, SponsCon06N, SponsCon06R FROM inserted WHERE SponsCon06Y = 'X' AND SponsCon06N > '' AND Sites > '' UNION ALL
SELECT CallID, SponsCon07N, SponsCon07R FROM inserted WHERE SponsCon07Y = 'X' AND SponsCon07N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, ClinAcad01N, ClinAcad01R FROM inserted WHERE ClinAcad01Y = 'X' AND ClinAcad01N > '' AND Sites > '' UNION ALL
SELECT CallID, ClinAcad02N, ClinAcad02R FROM inserted WHERE ClinAcad02Y = 'X' AND ClinAcad02N > '' AND Sites > '' UNION ALL
SELECT CallID, ClinAcad03N, ClinAcad03R FROM inserted WHERE ClinAcad03Y = 'X' AND ClinAcad03N > '' AND Sites > '' UNION ALL
SELECT CallID, ClinAcad04N, ClinAcad04R FROM inserted WHERE ClinAcad04Y = 'X' AND ClinAcad04N > '' AND Sites > '' UNION ALL
SELECT CallID, ClinAcad05N, ClinAcad05R FROM inserted WHERE ClinAcad05Y = 'X' AND ClinAcad05N > '' AND Sites > '' UNION ALL
SELECT CallID, ClinAcad06N, ClinAcad06R FROM inserted WHERE ClinAcad06Y = 'X' AND ClinAcad06N > '' AND Sites > '' UNION ALL
SELECT CallID, ClinAcad07N, ClinAcad07R FROM inserted WHERE ClinAcad07Y = 'X' AND ClinAcad07N > '' AND Sites > '' UNION ALL
SELECT CallID, ClinAcad08N, ClinAcad08R FROM inserted WHERE ClinAcad08Y = 'X' AND ClinAcad08N > '' AND Sites > '' UNION ALL
SELECT CallID, ClinAcad09N, ClinAcad09R FROM inserted WHERE ClinAcad09Y = 'X' AND ClinAcad09N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, ExeCol01N, ExeCol01R FROM inserted WHERE ExeCol01Y = 'X' AND ExeCol01N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeCol02N, ExeCol02R FROM inserted WHERE ExeCol02Y = 'X' AND ExeCol02N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeCol03N, ExeCol03R FROM inserted WHERE ExeCol03Y = 'X' AND ExeCol03N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeCol04N, ExeCol04R FROM inserted WHERE ExeCol04Y = 'X' AND ExeCol04N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeCol05N, ExeCol05R FROM inserted WHERE ExeCol05Y = 'X' AND ExeCol05N > '' AND Sites > '' UNION ALL
SELECT CallID, ExeCol06N, ExeCol06R FROM inserted WHERE ExeCol06Y = 'X' AND ExeCol06N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, PlymCity01N, PlymCity01R FROM inserted WHERE PlymCity01Y = 'X' AND PlymCity01N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymCity02N, PlymCity02R FROM inserted WHERE PlymCity02Y = 'X' AND PlymCity02N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymCity03N, PlymCity03R FROM inserted WHERE PlymCity03Y = 'X' AND PlymCity03N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymCity04N, PlymCity04R FROM inserted WHERE PlymCity04Y = 'X' AND PlymCity04N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymCity05N, PlymCity05R FROM inserted WHERE PlymCity05Y = 'X' AND PlymCity05N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymCity06N, PlymCity06R FROM inserted WHERE PlymCity06Y = 'X' AND PlymCity06N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, PlymUni01N, PlymUni01R FROM inserted WHERE PlymUni01Y = 'X' AND PlymUni01N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymUni02N, PlymUni02R FROM inserted WHERE PlymUni02Y = 'X' AND PlymUni02N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymUni03N, PlymUni03R FROM inserted WHERE PlymUni03Y = 'X' AND PlymUni03N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymUni04N, PlymUni04R FROM inserted WHERE PlymUni04Y = 'X' AND PlymUni04N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymUni05N, PlymUni05R FROM inserted WHERE PlymUni05Y = 'X' AND PlymUni05N > '' AND Sites > '' UNION ALL
SELECT CallID, PlymUni06N, PlymUni06R FROM inserted WHERE PlymUni06Y = 'X' AND PlymUni06N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, BridCol01N, BridCol01R FROM inserted WHERE BridCol01Y = 'X' AND BridCol01N > '' AND Sites > '' UNION ALL
SELECT CallID, BridCol02N, BridCol02R FROM inserted WHERE BridCol02Y = 'X' AND BridCol02N > '' AND Sites > '' UNION ALL
SELECT CallID, BridCol03N, BridCol03R FROM inserted WHERE BridCol03Y = 'X' AND BridCol03N > '' AND Sites > '' UNION ALL
SELECT CallID, BridCol04N, BridCol04R FROM inserted WHERE BridCol04Y = 'X' AND BridCol04N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, RAC01N, RAC01R FROM inserted WHERE RAC01Y = 'X' AND RAC01N > '' AND Sites > '' UNION ALL
SELECT CallID, RAC02N, RAC02R FROM inserted WHERE RAC02Y = 'X' AND RAC02N > '' AND Sites > '' UNION ALL
SELECT CallID, RAC03N, RAC03R FROM inserted WHERE RAC03Y = 'X' AND RAC03N > '' AND Sites > '' UNION ALL
SELECT CallID, RAC04N, RAC04R FROM inserted WHERE RAC04Y = 'X' AND RAC04N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, CIRENCESTER01N, CIRENCESTER01R FROM inserted WHERE CIRENCESTER01Y = 'X' AND CIRENCESTER01N > '' AND Sites > '' UNION ALL
SELECT CallID, CIRENCESTER02N, CIRENCESTER02R FROM inserted WHERE CIRENCESTER02Y = 'X' AND CIRENCESTER02N > '' AND Sites > '' UNION ALL
SELECT CallID, CIRENCESTER03N, CIRENCESTER03R FROM inserted WHERE CIRENCESTER03Y = 'X' AND CIRENCESTER03N > '' AND Sites > '' UNION ALL
SELECT CallID, CIRENCESTER04N, CIRENCESTER04R FROM inserted WHERE CIRENCESTER04Y = 'X' AND CIRENCESTER04N > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, POP101X, POP101R FROM inserted WHERE POP101Y = 'X' AND POP101X > '' AND Sites > '' UNION ALL
SELECT CallID, POP102X, POP102R FROM inserted WHERE POP102Y = 'X' AND POP102X > '' AND Sites > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, POP201N, POP201R FROM inserted WHERE POP201Y = 'X' AND POP201N > '' AND Sites > '' UNION ALL
SELECT CallID, POP202N, POP202R FROM inserted WHERE POP202Y = 'X' AND POP202N > '' AND Sites > ''

DECLARE @Formatting TABLE
(
CallID INT,
CircuitName VARCHAR(20)
)

INSERT @Formatting (CallID, CircuitName)
SELECT DISTINCT s.CallID
FROM @Stage AS s
INNER JOIN dbo.Circuit AS c ON c.CircuitDesc = s.[Name]
AND c.CircuitRole = s.[Rating]

UPDATE cl
SET cl.Sites = STUFF(s.SiteNames, 1, 2, '')
FROM dbo.CallLog AS cl
CROSS APPLY (
SELECT ', ' + x.CircuitName
FROM @Formatting AS x
WHERE x.CallID = cl.CallID
FOR XML PATH('')
) AS f(SiteNames)
WHERE EXISTS (SELECT * FROM @Formatting AS y WHERE y.CallID = cl.CallID)



N 56°04'39.26"
E 12°55'05.63"
Go to Top of Page

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-08-15 : 12:28:07
HI Peso,

firstly thanks a bunch for this.
I just pasted your code
But am getting the following error when I try to parse your code.
Do you know why?

Msg 120, Level 15, State 1, Procedure SITE_UPDATE, Line 201
The select list for the INSERT statement contains fewer items than the insert list. The number of SELECT values must match the number of INSERT columns.




Go to Top of Page

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2010-08-15 : 12:35:24
quote:
Originally posted by icw

HI Peso,

firstly thanks a bunch for this.
I just pasted your code
But am getting the following error when I try to parse your code.
Do you know why?

Msg 120, Level 15, State 1, Procedure SITE_UPDATE, Line 201
The select list for the INSERT statement contains fewer items than the insert list. The number of SELECT values must match the number of INSERT columns.







in last part suggestion is missing a column.fill in correct column here

DECLARE @Formatting TABLE
(
CallID INT,
CircuitName VARCHAR(20)
)

INSERT @Formatting (CallID, CircuitName)
SELECT DISTINCT s.CallID,column containing CircuitName here
FROM @Stage AS s
INNER JOIN dbo.Circuit AS c ON c.CircuitDesc = s.[Name]
AND c.CircuitRole = s.[Rating]

UPDATE cl
SET cl.Sites = STUFF(s.SiteNames, 1, 2, '')
FROM dbo.CallLog AS cl
CROSS APPLY (
SELECT ', ' + x.CircuitName
FROM @Formatting AS x
WHERE x.CallID = cl.CallID
FOR XML PATH('')
) AS f(SiteNames)
WHERE EXISTS (SELECT * FROM @Formatting AS y WHERE y.CallID = cl.CallID)


------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/

Go to Top of Page

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-08-15 : 13:20:03
Guys I really appreciate your help thanks to you all.
I've got the trigger to work now.
But one slight problem, if i select a lot options on the screen and try to save a record i get the following error on the application screen and the record fails to save. This error doesn't appear when the trigger is not there.

Error:
String or binary data would be truncated.

Last SQL String:
update Detail set CliftonXN02=?,Clifton01Y=?,Clifton02Y=?,Clifton11Y=?,Clifton10Y=?,Clifton08Y=?,Clifton05Y=?,Clifton09Y=?,Clifton06Y=?,Clifton07Y=?,Clifton03Y=?,Clifton04Y=?,Clifton12Y=?,Clifton13Y=?,Clifton14Y=?,Clifton15Y=?,Clifton16Y=?,Clifton17Y=?,Clifton18Y=?,Clifton19Y=?,Clifton20Y=?,Clifton21Y=?,Clifton22Y=?,Clifton23Y=?,Clifton24Y=?,Clifton25Y=?,Clifton26Y=?,Clifton27Y=?,Clifton29Y=?,Clifton30Y=?,Clifton31Y=?,Clifton32Y=?,Clifton33Y=?,Clifton34Y=?,Clifton35Y=?,Clifton36Y=?,Clifton37Y=?,Clifton38Y=?,Clifton39Y=?,Clifton40Y=?,Clifton28Y=? where CallID = '00168005'

Last ODBC Command:
Function: SQLExecute()

------------------
Below is the actual working trigger



create TRIGGER dbo.SITE_UPDATE
ON dbo.detail
FOR INSERT,
UPDATE
AS

SET NOCOUNT ON

DECLARE @Stage TABLE
(
CallID varchar (8),
[Name] VARCHAR(50),
[Rating] varchar(1)
)

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, Clifton01N, Clifton01R FROM inserted WHERE Clifton01Y = 'X' AND Clifton01N > '' UNION ALL
SELECT CallID, Clifton02N, Clifton02R FROM inserted WHERE Clifton02Y = 'X' AND Clifton02N > '' UNION ALL
SELECT CallID, Clifton03N, Clifton03R FROM inserted WHERE Clifton03Y = 'X' AND Clifton03N > '' UNION ALL
SELECT CallID, Clifton04N, Clifton04R FROM inserted WHERE Clifton04Y = 'X' AND Clifton04N > '' UNION ALL
SELECT CallID, Clifton05N, Clifton05R FROM inserted WHERE Clifton05Y = 'X' AND Clifton05N > '' UNION ALL
SELECT CallID, Clifton06N, Clifton06R FROM inserted WHERE Clifton06Y = 'X' AND Clifton06N > '' UNION ALL
SELECT CallID, Clifton07N, Clifton07R FROM inserted WHERE Clifton07Y = 'X' AND Clifton07N > '' UNION ALL
SELECT CallID, Clifton08N, Clifton08R FROM inserted WHERE Clifton08Y = 'X' AND Clifton08N > '' UNION ALL
SELECT CallID, Clifton09N, Clifton09R FROM inserted WHERE Clifton09Y = 'X' AND Clifton09N > '' UNION ALL
SELECT CallID, Clifton10N, Clifton10R FROM inserted WHERE Clifton10Y = 'X' AND Clifton10N > '' UNION ALL
SELECT CallID, Clifton11N, Clifton11R FROM inserted WHERE Clifton11Y = 'X' AND Clifton11N > '' UNION ALL
SELECT CallID, Clifton12N, Clifton12R FROM inserted WHERE Clifton12Y = 'X' AND Clifton12N > '' UNION ALL
SELECT CallID, Clifton13N, Clifton13R FROM inserted WHERE Clifton13Y = 'X' AND Clifton13N > '' UNION ALL
SELECT CallID, Clifton14N, Clifton14R FROM inserted WHERE Clifton14Y = 'X' AND Clifton14N > '' UNION ALL
SELECT CallID, Clifton15N, Clifton15R FROM inserted WHERE Clifton15Y = 'X' AND Clifton15N > '' UNION ALL
SELECT CallID, Clifton16N, Clifton16R FROM inserted WHERE Clifton16Y = 'X' AND Clifton16N > '' UNION ALL
SELECT CallID, Clifton17N, Clifton17R FROM inserted WHERE Clifton17Y = 'X' AND Clifton17N > '' UNION ALL
SELECT CallID, Clifton18N, Clifton18R FROM inserted WHERE Clifton18Y = 'X' AND Clifton18N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, Frenchay01N, Frenchay01R FROM inserted WHERE Frenchay01Y = 'X' AND Frenchay01N > '' UNION ALL
SELECT CallID, Frenchay02N, Frenchay02R FROM inserted WHERE Frenchay02Y = 'X' AND Frenchay02N > '' UNION ALL
SELECT CallID, Frenchay03N, Frenchay03R FROM inserted WHERE Frenchay03Y = 'X' AND Frenchay03N > '' UNION ALL
SELECT CallID, Frenchay04N, Frenchay04R FROM inserted WHERE Frenchay04Y = 'X' AND Frenchay04N > '' UNION ALL
SELECT CallID, Frenchay05N, Frenchay05R FROM inserted WHERE Frenchay05Y = 'X' AND Frenchay05N > '' UNION ALL
SELECT CallID, Frenchay06N, Frenchay06R FROM inserted WHERE Frenchay06Y = 'X' AND Frenchay06N > '' UNION ALL
SELECT CallID, Frenchay07N, Frenchay07R FROM inserted WHERE Frenchay07Y = 'X' AND Frenchay07N > '' UNION ALL
SELECT CallID, Frenchay08N, Frenchay08R FROM inserted WHERE Frenchay08Y = 'X' AND Frenchay08N > '' UNION ALL
SELECT CallID, Frenchay09N, Frenchay09R FROM inserted WHERE Frenchay09Y = 'X' AND Frenchay09N > '' UNION ALL
SELECT CallID, Frenchay10N, Frenchay10R FROM inserted WHERE Frenchay10Y = 'X' AND Frenchay10N > '' UNION ALL
SELECT CallID, Frenchay11N, Frenchay11R FROM inserted WHERE Frenchay11Y = 'X' AND Frenchay11N > '' UNION ALL
SELECT CallID, Frenchay12N, Frenchay12R FROM inserted WHERE Frenchay12Y = 'X' AND Frenchay12N > '' UNION ALL
SELECT CallID, Frenchay13N, Frenchay13R FROM inserted WHERE Frenchay13Y = 'X' AND Frenchay13N > '' UNION ALL
SELECT CallID, Frenchay14N, Frenchay14R FROM inserted WHERE Frenchay14Y = 'X' AND Frenchay14N > '' UNION ALL
SELECT CallID, Frenchay15N, Frenchay15R FROM inserted WHERE Frenchay15Y = 'X' AND Frenchay15N > '' UNION ALL
SELECT CallID, Frenchay16N, Frenchay16R FROM inserted WHERE Frenchay16Y = 'X' AND Frenchay16N > '' UNION ALL
SELECT CallID, Frenchay17N, Frenchay17R FROM inserted WHERE Frenchay17Y = 'X' AND Frenchay17N > '' UNION ALL
SELECT CallID, Frenchay18N, Frenchay18R FROM inserted WHERE Frenchay18Y = 'X' AND Frenchay18N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, ExeUni01N, ExeUni01R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni01N > '' UNION ALL
SELECT CallID, ExeUni02N, ExeUni02R FROM inserted WHERE ExeUni02Y = 'X' AND ExeUni02N > '' UNION ALL
SELECT CallID, ExeUni03N, ExeUni03R FROM inserted WHERE ExeUni03Y = 'X' AND ExeUni03N > '' UNION ALL
SELECT CallID, ExeUni04N, ExeUni04R FROM inserted WHERE ExeUni04Y = 'X' AND ExeUni04N > '' UNION ALL
SELECT CallID, ExeUni05N, ExeUni05R FROM inserted WHERE ExeUni05Y = 'X' AND ExeUni05N > '' UNION ALL
SELECT CallID, ExeUni06N, ExeUni06R FROM inserted WHERE ExeUni06Y = 'X' AND ExeUni06N > '' UNION ALL
SELECT CallID, ExeUni07N, ExeUni07R FROM inserted WHERE ExeUni07Y = 'X' AND ExeUni07N > '' UNION ALL
SELECT CallID, ExeUni08N, ExeUni08R FROM inserted WHERE ExeUni08Y = 'X' AND ExeUni08N > '' UNION ALL
SELECT CallID, ExeUni09N, ExeUni09R FROM inserted WHERE ExeUni09Y = 'X' AND ExeUni09N > '' UNION ALL
SELECT CallID, ExeUni10N, ExeUni10R FROM inserted WHERE ExeUni10Y = 'X' AND ExeUni10N > '' UNION ALL
SELECT CallID, ExeUni11N, ExeUni11R FROM inserted WHERE ExeUni11Y = 'X' AND ExeUni11N > '' UNION ALL
SELECT CallID, ExeUni12N, ExeUni12R FROM inserted WHERE ExeUni12Y = 'X' AND ExeUni12N > '' UNION ALL
SELECT CallID, ExeUni13N, ExeUni13R FROM inserted WHERE ExeUni13Y = 'X' AND ExeUni13N > '' UNION ALL
SELECT CallID, ExeUni14N, ExeUni14R FROM inserted WHERE ExeUni14Y = 'X' AND ExeUni14N > '' UNION ALL
SELECT CallID, ExeUni15N, ExeUni15R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni15N > '' UNION ALL
SELECT CallID, ExeUni16N, ExeUni16R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni16N > '' UNION ALL
SELECT CallID, ExeUni17N, ExeUni17R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni17N > '' UNION ALL
SELECT CallID, ExeUni18N, ExeUni18R FROM inserted WHERE ExeUni01Y = 'X' AND ExeUni18N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, BathCD01N, BathCD01R FROM inserted WHERE BathCD01Y = 'X' AND BathCD01N > '' UNION ALL
SELECT CallID, BathCD02N, BathCD02R FROM inserted WHERE BathCD02Y = 'X' AND BathCD02N > '' UNION ALL
SELECT CallID, BathCD03N, BathCD03R FROM inserted WHERE BathCD03Y = 'X' AND BathCD03N > '' UNION ALL
SELECT CallID, BathCD04N, BathCD04R FROM inserted WHERE BathCD04Y = 'X' AND BathCD04N > '' UNION ALL
SELECT CallID, BathCD05N, BathCD05R FROM inserted WHERE BathCD05Y = 'X' AND BathCD05N > '' UNION ALL
SELECT CallID, BathCD06N, BathCD06R FROM inserted WHERE BathCD06Y = 'X' AND BathCD06N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, BathJW01N, BathJW01R FROM inserted WHERE BathJW01Y = 'X' AND BathJW01N > '' UNION ALL
SELECT CallID, BathJW02N, BathJW02R FROM inserted WHERE BathJW02Y = 'X' AND BathJW02N > '' UNION ALL
SELECT CallID, BathJW03N, BathJW03R FROM inserted WHERE BathJW03Y = 'X' AND BathJW03N > '' UNION ALL
SELECT CallID, BathJW04N, BathJW04R FROM inserted WHERE BathJW04Y = 'X' AND BathJW04N > '' UNION ALL
SELECT CallID, BathJW05N, BathJW05R FROM inserted WHERE BathJW05Y = 'X' AND BathJW05N > '' UNION ALL
SELECT CallID, BathJW06N, BathJW06R FROM inserted WHERE BathJW06Y = 'X' AND BathJW06N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, CheltUoG01X, CheltUoG01R FROM inserted WHERE CheltUoG01 = 'X' AND CheltUoG01X > '' UNION ALL
SELECT CallID, CheltUoG02X, CheltUoG02R FROM inserted WHERE CheltUoG02 = 'X' AND CheltUoG02X > '' UNION ALL
SELECT CallID, CheltUoG03X, CheltUoG03R FROM inserted WHERE CheltUoG03 = 'X' AND CheltUoG03X > '' UNION ALL
SELECT CallID, CheltUoG04X, CheltUoG04R FROM inserted WHERE CheltUoG04 = 'X' AND CheltUoG04X > '' UNION ALL
SELECT CallID, CheltUoG05X, CheltUoG05R FROM inserted WHERE CheltUoG05 = 'X' AND CheltUoG05X > '' UNION ALL
SELECT CallID, CheltUoG06X, CheltUoG06R FROM inserted WHERE CheltUoG06 = 'X' AND CheltUoG06X > '' UNION ALL
SELECT CallID, CheltUoG07X, CheltUoG07R FROM inserted WHERE CheltUoG07 = 'X' AND CheltUoG07X > '' UNION ALL
SELECT CallID, CheltUoG08X, CheltUoG08R FROM inserted WHERE CheltUoG08 = 'X' AND CheltUoG08X > '' UNION ALL
SELECT CallID, CheltUoG09X, CheltUoG09R FROM inserted WHERE CheltUoG09 = 'X' AND CheltUoG09X > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, SCAT01N, SCAT01R FROM inserted WHERE SCAT01Y = 'X' AND SCAT01N > '' UNION ALL
SELECT CallID, SCAT02N, SCAT02R FROM inserted WHERE SCAT02Y = 'X' AND SCAT02N > '' UNION ALL
SELECT CallID, SCAT03N, SCAT03R FROM inserted WHERE SCAT03Y = 'X' AND SCAT03N > '' UNION ALL
SELECT CallID, SCAT04N, SCAT04R FROM inserted WHERE SCAT04Y = 'X' AND SCAT04N > '' UNION ALL
SELECT CallID, SCAT05N, SCAT05R FROM inserted WHERE SCAT05Y = 'X' AND SCAT05N > '' UNION ALL
SELECT CallID, SCAT06N, SCAT06R FROM inserted WHERE SCAT06Y = 'X' AND SCAT06N > '' UNION ALL
SELECT CallID, SCAT07N, SCAT07R FROM inserted WHERE SCAT07Y = 'X' AND SCAT07N > '' UNION ALL
SELECT CallID, SCAT08N, SCAT08R FROM inserted WHERE SCAT08Y = 'X' AND SCAT08N > '' UNION ALL
SELECT CallID, SCAT09N, SCAT09R FROM inserted WHERE SCAT09Y = 'X' AND SCAT09N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, CheltglosCol01N, CheltglosCol01R FROM inserted WHERE CheltglosCol01Y = 'X' AND CheltglosCol01N > '' UNION ALL
SELECT CallID, CheltglosCol02N, CheltglosCol02R FROM inserted WHERE CheltglosCol02Y = 'X' AND CheltglosCol02N > '' UNION ALL
SELECT CallID, CheltglosCol03N, CheltglosCol03R FROM inserted WHERE CheltglosCol03Y = 'X' AND CheltglosCol03N > '' UNION ALL
SELECT CallID, CheltglosCol04N, CheltglosCol04R FROM inserted WHERE CheltglosCol04Y = 'X' AND CheltglosCol04N > '' UNION ALL
SELECT CallID, CheltglosCol05N, CheltglosCol05R FROM inserted WHERE CheltglosCol05Y = 'X' AND CheltglosCol05N > '' UNION ALL
SELECT CallID, CheltglosCol06N, CheltglosCol06R FROM inserted WHERE CheltglosCol06Y = 'X' AND CheltglosCol06N > '' UNION ALL
SELECT CallID, CheltglosCol07N, CheltglosCol07R FROM inserted WHERE CheltglosCol07Y = 'X' AND CheltglosCol07N > '' UNION ALL
SELECT CallID, CheltglosCol08N, CheltglosCol08R FROM inserted WHERE CheltglosCol08Y = 'X' AND CheltglosCol08N > '' UNION ALL
SELECT CallID, CheltglosCol09N, CheltglosCol09R FROM inserted WHERE CheltglosCol09Y = 'X' AND CheltglosCol09N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, SponsCon01N, SponsCon01R FROM inserted WHERE SponsCon01Y = 'X' AND SponsCon01N > '' UNION ALL
SELECT CallID, SponsCon02N, SponsCon02R FROM inserted WHERE SponsCon02Y = 'X' AND SponsCon02N > '' UNION ALL
SELECT CallID, SponsCon03N, SponsCon03R FROM inserted WHERE SponsCon03Y = 'X' AND SponsCon03N > '' UNION ALL
SELECT CallID, SponsCon04N, SponsCon04R FROM inserted WHERE SponsCon04Y = 'X' AND SponsCon04N > '' UNION ALL
SELECT CallID, SponsCon05N, SponsCon05R FROM inserted WHERE SponsCon05Y = 'X' AND SponsCon05N > '' UNION ALL
SELECT CallID, SponsCon06N, SponsCon06R FROM inserted WHERE SponsCon06Y = 'X' AND SponsCon06N > '' UNION ALL
SELECT CallID, SponsCon07N, SponsCon07R FROM inserted WHERE SponsCon07Y = 'X' AND SponsCon07N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, ClinAcad01N, ClinAcad01R FROM inserted WHERE ClinAcad01Y = 'X' AND ClinAcad01N > '' UNION ALL
SELECT CallID, ClinAcad02N, ClinAcad02R FROM inserted WHERE ClinAcad02Y = 'X' AND ClinAcad02N > '' UNION ALL
SELECT CallID, ClinAcad03N, ClinAcad03R FROM inserted WHERE ClinAcad03Y = 'X' AND ClinAcad03N > '' UNION ALL
SELECT CallID, ClinAcad04N, ClinAcad04R FROM inserted WHERE ClinAcad04Y = 'X' AND ClinAcad04N > '' UNION ALL
SELECT CallID, ClinAcad05N, ClinAcad05R FROM inserted WHERE ClinAcad05Y = 'X' AND ClinAcad05N > '' UNION ALL
SELECT CallID, ClinAcad06N, ClinAcad06R FROM inserted WHERE ClinAcad06Y = 'X' AND ClinAcad06N > '' UNION ALL
SELECT CallID, ClinAcad07N, ClinAcad07R FROM inserted WHERE ClinAcad07Y = 'X' AND ClinAcad07N > '' UNION ALL
SELECT CallID, ClinAcad08N, ClinAcad08R FROM inserted WHERE ClinAcad08Y = 'X' AND ClinAcad08N > '' UNION ALL
SELECT CallID, ClinAcad09N, ClinAcad09R FROM inserted WHERE ClinAcad09Y = 'X' AND ClinAcad09N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, ExeCol01N, ExeCol01R FROM inserted WHERE ExeCol01Y = 'X' AND ExeCol01N > '' UNION ALL
SELECT CallID, ExeCol02N, ExeCol02R FROM inserted WHERE ExeCol02Y = 'X' AND ExeCol02N > '' UNION ALL
SELECT CallID, ExeCol03N, ExeCol03R FROM inserted WHERE ExeCol03Y = 'X' AND ExeCol03N > '' UNION ALL
SELECT CallID, ExeCol04N, ExeCol04R FROM inserted WHERE ExeCol04Y = 'X' AND ExeCol04N > '' UNION ALL
SELECT CallID, ExeCol05N, ExeCol05R FROM inserted WHERE ExeCol05Y = 'X' AND ExeCol05N > '' UNION ALL
SELECT CallID, ExeCol06N, ExeCol06R FROM inserted WHERE ExeCol06Y = 'X' AND ExeCol06N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, PlymCity01N, PlymCity01R FROM inserted WHERE PlymCity01Y = 'X' AND PlymCity01N > '' UNION ALL
SELECT CallID, PlymCity02N, PlymCity02R FROM inserted WHERE PlymCity02Y = 'X' AND PlymCity02N > '' UNION ALL
SELECT CallID, PlymCity03N, PlymCity03R FROM inserted WHERE PlymCity03Y = 'X' AND PlymCity03N > '' UNION ALL
SELECT CallID, PlymCity04N, PlymCity04R FROM inserted WHERE PlymCity04Y = 'X' AND PlymCity04N > '' UNION ALL
SELECT CallID, PlymCity05N, PlymCity05R FROM inserted WHERE PlymCity05Y = 'X' AND PlymCity05N > '' UNION ALL
SELECT CallID, PlymCity06N, PlymCity06R FROM inserted WHERE PlymCity06Y = 'X' AND PlymCity06N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, PlymUni01N, PlymUni01R FROM inserted WHERE PlymUni01Y = 'X' AND PlymUni01N > '' UNION ALL
SELECT CallID, PlymUni02N, PlymUni02R FROM inserted WHERE PlymUni02Y = 'X' AND PlymUni02N > '' UNION ALL
SELECT CallID, PlymUni03N, PlymUni03R FROM inserted WHERE PlymUni03Y = 'X' AND PlymUni03N > '' UNION ALL
SELECT CallID, PlymUni04N, PlymUni04R FROM inserted WHERE PlymUni04Y = 'X' AND PlymUni04N > '' UNION ALL
SELECT CallID, PlymUni05N, PlymUni05R FROM inserted WHERE PlymUni05Y = 'X' AND PlymUni05N > '' UNION ALL
SELECT CallID, PlymUni06N, PlymUni06R FROM inserted WHERE PlymUni06Y = 'X' AND PlymUni06N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, BridCol01N, BridCol01R FROM inserted WHERE BridCol01Y = 'X' AND BridCol01N > '' UNION ALL
SELECT CallID, BridCol02N, BridCol02R FROM inserted WHERE BridCol02Y = 'X' AND BridCol02N > '' UNION ALL
SELECT CallID, BridCol03N, BridCol03R FROM inserted WHERE BridCol03Y = 'X' AND BridCol03N > '' UNION ALL
SELECT CallID, BridCol04N, BridCol04R FROM inserted WHERE BridCol04Y = 'X' AND BridCol04N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, RAC01N, RAC01R FROM inserted WHERE RAC01Y = 'X' AND RAC01N > '' UNION ALL
SELECT CallID, RAC02N, RAC02R FROM inserted WHERE RAC02Y = 'X' AND RAC02N > '' UNION ALL
SELECT CallID, RAC03N, RAC03R FROM inserted WHERE RAC03Y = 'X' AND RAC03N > '' UNION ALL
SELECT CallID, RAC04N, RAC04R FROM inserted WHERE RAC04Y = 'X' AND RAC04N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, CIRENCESTER01N, CIRENCESTER01R FROM inserted WHERE CIRENCESTER01Y = 'X' AND CIRENCESTER01N > '' UNION ALL
SELECT CallID, CIRENCESTER02N, CIRENCESTER02R FROM inserted WHERE CIRENCESTER02Y = 'X' AND CIRENCESTER02N > '' UNION ALL
SELECT CallID, CIRENCESTER03N, CIRENCESTER03R FROM inserted WHERE CIRENCESTER03Y = 'X' AND CIRENCESTER03N > '' UNION ALL
SELECT CallID, CIRENCESTER04N, CIRENCESTER04R FROM inserted WHERE CIRENCESTER04Y = 'X' AND CIRENCESTER04N > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, POP101X, POP101R FROM inserted WHERE POP101Y = 'X' AND POP101X > '' UNION ALL
SELECT CallID, POP102X, POP102R FROM inserted WHERE POP102Y = 'X' AND POP102X > ''

INSERT @Stage (CallID, [Name], [Rating])
SELECT CallID, POP201N, POP201R FROM inserted WHERE POP201Y = 'X' AND POP201N > '' UNION ALL
SELECT CallID, POP202N, POP202R FROM inserted WHERE POP202Y = 'X' AND POP202N > ''

DECLARE @Formatting TABLE
(
CallID INT,
CircuitName VARCHAR(20)
)


INSERT @Formatting (CallID, CircuitName)
SELECT DISTINCT s.CallID,c.CircuitName
FROM @Stage AS s
INNER JOIN dbo.Circuit AS c ON c.CircuitDesc = s.[Name]
AND c.CircuitRole = s.[Rating]

UPDATE cl
SET cl.swernSite = STUFF(f.sitenames, 1, 2, '')
FROM dbo.CallLog AS cl
CROSS APPLY (
SELECT ', ' + x.CircuitName
FROM @Formatting AS x
WHERE x.CallID = cl.CallID
FOR XML PATH('')
) AS f(SiteNames)
WHERE EXISTS (SELECT * FROM @Formatting AS y WHERE y.CallID = cl.CallID)
Go to Top of Page

visakh16
Very Important crosS Applying yaK Herder

52326 Posts

Posted - 2010-08-15 : 13:26:32
make sure the varchar fields used has enough length to hold the data that you're trying to populate.

------------------------------------------------------------------------------------------------------
SQL Server MVP
http://visakhm.blogspot.com/

Go to Top of Page

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-08-15 : 13:41:23
The field I'm updating is a memo field so that is no problem.
I have set the parameter fields in the trigger to be the same as in the table.

i'm beginning to suspect that its something else that is happening because I can't see any problem within the trigger where its trying to update the fields mentioned in the error.

But I've no idea what!

I guess this is not something you can help with any more..
but thanks again i really appreciate the help in getting the trigger to work
.

Go to Top of Page

SwePeso
Patron Saint of Lost Yaks

30421 Posts

Posted - 2010-08-15 : 17:12:06
The code above is 16595 bytes long. Check the parameter value for the update code in your application.



N 56°04'39.26"
E 12°55'05.63"
Go to Top of Page
   

- Advertisement -