0

我正在尝试向表中添加一个字段。如果我创建表然后调用 sp 并在 sp 中添加字段。我不能在 where 子句中使用该字段

  1. 一起运行第一部分和第二部分:没有错误
  2. 在 sp: 中运行第一部分然后第二部分:错误(完成后不要忘记删除#table)
  3. 运行第一部分然后第二部分:错误(完成后不要忘记删除#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 的新手):

http://sqlfiddle.com/#!3/545ff/1

4

1 回答 1

0

似乎在代码编译期间引发了错误。如果您在 exec() 命令中运行 select(或任何其他直接引用新列的查询),它会起作用:

http://sqlfiddle.com/#!3/76b8c/1

于 2013-05-03T18:23:12.317 回答