存储过程中使用游标出现了问题

zhyy821106 2006-02-08 12:08:30
先看代码如下:
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的错误,为什么?

...全文
60 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lsqkeke 2006-02-08
  • 打赏
  • 举报
回复
exec('select +@IntDesCol1+','+@IntDesCol2+' from '+ @AccountTable+'
where JDE_AID='''+@AIDValue+'''')
lsqkeke 2006-02-08
  • 打赏
  • 举报
回复
exec('select +@IntDesCol1+','+@IntDesCol2+' from '+ @AccountTable)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧