存储过程中使用游标出现了问题
先看代码如下:
create proc AccountMappingProc
@IntTable varchar(20), /*表的名字*/
@AccountTable varchar(20), /*表的名字*/
@IntSourCol1 varchar(20), /*列的名字*/
@IntDesCol1 varchar(20), /*列的名字*/
@IntSourCol2 varchar(20)=null, /*列的名字*/
@IntDesCol2 varchar(20)=null /*列的名字*/
as
declare @AIDValue varchar(50) /*声明一个变量保存从@IntTable表中读取出来的列的值*/
declare @sql varchar(2000)
set @sql='declare Data_Cursor scroll Cursor for select distinct '+@IntSourCol1+' from '+@IntTable
exec(@sql)
open Data_Cursor
fetch next from Data_Cursor into @AIDValue
while @@fetch_status = 0
Begin
select @IntDesCol1,@IntDesCol2 from @AccountTable/*这地方出错,说必须声明 @AccountTable*/
where JDE_AID=@AIDValue
end
close Data_Cursor
deallocate Data_Cursor
我是想从一个表中读取出一列的值,然后拿那个值去另一表中搜索相关的信息,可是会抱必须声明@AccountTable的错误,为什么?