我正在尝试根据场景参数的值创建一个临时表,并使用以下 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')替换块语句,程序运行良好)。
关于导致此错误的任何想法?