Below I am trying to update a table with the variable @addflag however instead of updating the table with the required set variable it is inserting nulls. Everything else in the statement works apart from the update section. Can anyone help explain how I can get the table to update?
create procedure loadcode @tabname varchar(50)
as
SET NOCOUNT ON
DECLARE @tabcur varchar(8000)
DECLARE @tabload varchar(8000)
DECLARE @tabup varchar(8000)
DECLARE @client VARCHAR(10)
DECLARE @addflag VARCHAR(10)
DECLARE @title VARCHAR(15)
SELECT @tabcur = 'DECLARE cur1 CURSOR FAST_FORWARD FOR ' +
'SELECT client,
title
FROM ' + @tabname + 'TBL'
OPEN cur1
FETCH NEXT FROM cur1
INTO @client, @title
WHILE @@FETCH_STATUS = 0
BEGIN
IF @client = 12692 SET @addflag='C'
ELSE IF @client = 1600031 SET @addflag='A'
ELSE IF @client = 1590249 SET @addflag='R'
ELSE SET @addflag='X'
SELECT @tabload = 'INSERT INTO ' + @tabname + 'CODE (client,name)
select client,title from ' + @tabname + 'TBL'
SELECT @tabup = 'UPDATE ' + @tabname + 'CODE
SET addflag =' + @addflag +'' -- THIS UPDATE IS NOT WORKING HERE
FETCH NEXT FROM cur1
INTO @client, @title
END
CLOSE cur1
DEALLOCATE cur1
EXEC (@tabcur)
EXEC (@tabload)
EXEC (@tabup)
Thanks in advance.