我有一个在此存储过程开始时创建的临时表。它已成功创建,可以从中选择并插入。为什么我的alter table语句不正确地向临时表中添加一列?
这里是create语句
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
)
我的问题是试图改变我的临时表后更新的列。我得到的错误
消息207,级别16,状态1
无效的列名
代码:
declare @SQl1 nvarchar(max)
set @SQL1 ='
ALTER TABLE #tmpImportData
ADD group_id INT
ALTER TABLE #tmpImportData
ADD guide_id INT
ALTER 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 @Sql1
UPDATE #tmpImportData
SET group_id = CAST(group_id_text AS INT)
UPDATE #tmpImportData
SET group_id = 0 WHERE group_id IS NULL
在哪里这个'group_id_text'来自? – 2014-12-07 05:50:53
向我们展示'#tmpImportData'表定义(创建语句)。我想你还没有定义这样的列-.'group_id_text' – gotqn 2014-12-07 09:30:40
@PareshJv我已经添加了创建语句 – JohnOsborne 2014-12-07 15:34:37