Quantcast
Channel: Update statement is giving an invalid column name error, even though the column exists - Database Administrators Stack Exchange
Viewing all articles
Browse latest Browse all 4

Update statement is giving an invalid column name error, even though the column exists

$
0
0

I have a temporary table created at the beginning of this stored procedure. It is created successfully and can be selected from and inserted to. Here is the create statement

CREATE TABLE #tmpImportData ( GuideFirstName VARCHAR(MAX),   GuideLastName VARCHAR(MAX),   email VARCHAR(MAX),   group_id_text VARCHAR(MAX),   CandidateName VARCHAR(MAX),   grade_text VARCHAR(5),   dateofbirth DATE)

My problem is trying to update a column after I alter the temporary table. I get the error:

Msg 207, Level 16, State 1
invalid column name

Code:

declare @SQl1 nvarchar(max)set @SQL1 ='ALTER TABLE #tmpImportData ADD group_id INTALTER TABLE #tmpImportData ADD guide_id INTALTER TABLE #tmpImportData ADD password_plain_text VARCHAR(500)ALTER TABLE #tmpImportData ADD guide_email VARCHAR(500)ALTER TABLE #tmpImportData ADD class_id INT'exec sp_executesql @Sql1UPDATE #tmpImportData SET group_id = CAST(group_id_text AS INT)UPDATE #tmpImportData SET group_id = 0 WHERE group_id IS NULL

Solution: NOT THE SOLUTION ANYMORE, IT DOESN'T WORK ANYMORE

declare @SQl1 nvarchar(max)set @SQL1 ='ALTER TABLE #tmpImportData ADD group_id INTALTER TABLE #tmpImportData ADD guide_id INTALTER TABLE #tmpImportData ADD password_plain_text VARCHAR(500)ALTER TABLE #tmpImportData ADD guide_email VARCHAR(500)ALTER TABLE #tmpImportData ADD class_id INT'exec sp_executesql @Sql1WAITFOR DELAY '000:00:05'UPDATE #tmpImportData SET group_id = CAST(group_id_text AS INT)UPDATE #tmpImportData SET group_id = 0 WHERE group_id IS NULL

What I thought would be better but still throws the invalid column name error Msg 207, Level 16, State 1, Line 2Invalid column name 'group_id'.:

  declare @SQl1 nvarchar(max)set @SQL1 ='ALTER TABLE #tmpImportData ADD group_id INT, guide_id INT, password_plain_text VARCHAR(500), guide_email VARCHAR(500), class_id INT; UPDATE #tmpImportData SET group_id = CAST(group_id_text AS INT);UPDATE #tmpImportData SET group_id = 0 WHERE group_id IS NULL; 'exec sp_executesql @Sql1WAITFOR DELAY '000:00:05'--UPDATE #tmpImportData SET group_id = CAST(group_id_text AS INT)--UPDATE #tmpImportData SET group_id = 0 WHERE group_id IS NULLSELECT * FROM #tmpImportData

Viewing all articles
Browse latest Browse all 4

Latest Images

Trending Articles





Latest Images