【发布时间】:2016-12-07 01:41:36
【问题描述】:
我正在尝试向表中添加一个字段。如果我创建表然后调用 sp 并在 sp 中添加字段。我不能在 where 子句中使用该字段
- 同时运行第一部分和第二部分:没有错误
- 在 sp 中运行第一部分然后第二部分:错误(完成后不要忘记删除 #table)
- 运行第一部分然后第二部分:错误(完成后不要忘记删除#table)
例子:
/*PART 1*/
select 1 as number
into #table
union all
select 2 as number
/*******/
/*PART 2*/
ALTER TABLE #table ADD rowNo INT IDENTITY(1,1);
select * from #table
where rowNo between 0 and 10
drop table #table
/********/
这就是我在存储过程中运行的意思(sql fiddle 的新手):
【问题讨论】:
-
我正在考虑一个 sp,您可能需要在
ALTER和select语句之间添加一个GO行。 -
你能解释一下它有什么问题吗 - 似乎对我有用:sqlfiddle.com/#!3/8121d/1
-
我已经更新了问题(不知道 sql fiddle 存在它的极品!)
-
@JoeMajsterski 刚刚尝试过仍然会出错:(