【发布时间】:2012-06-30 13:16:04
【问题描述】:
我正在尝试根据场景参数的值创建一个临时表,并使用以下 IF 语句,但出现以下错误:
IF @indexName = 'A'
begin select top 400 * into #temp from #pretemp order by EMRev desc end
ELSE IF @indexName = 'B'
begin select top 75 * into #temp from #pretemp order by EMRev desc end
ELSE IF @indexName = 'C'
begin select top 300 * into #temp from #pretemp order by EMRev desc end
ELSE
begin select top 100 * into #temp from #pretemp order by EMRev desc end
消息 2714,第 16 级,状态 1,第 179 行 数据库中已经有一个名为“#temp”的对象。 消息 2714,第 16 层,状态 1,第 181 行 数据库中已经有一个名为“#temp”的对象。 消息 2714,第 16 层,状态 1,第 183 行 数据库中已经有一个名为“#temp”的对象。
我确定 IF 语句基于 @indexName 变量工作(将块语句替换为简单的东西(例如,'select @indexName'),程序运行良好)。
关于导致此错误的原因有什么想法吗?
【问题讨论】:
标签: sql tsql sql-server-2008-r2