还是昨天下午那个存储过程的问题~~大哥们帮帮忙(谢谢,在线)
Create Proc Proc_Stack
--传递参数
@collist varchar(1000),--传入的需要计算的字符串,格式为"A,B,C,"
@TableNameA varchar(1000),--需要计算的第一张表
@TableNameB varchar(1000) --需要计算的第二张表
as
--构造动态语句
Exec('select identity(int,1,1)id,* into #A from '+@TableNameA)
Exec('select identity(int,1,1)id,* into #B from '+@TableNameB)
declare @sql varchar(8000)
set @sql='select '
while charindex(',',@collist)>0
begin
set @sql=@sql+left(@collist,charindex(',',@collist)-1)+'='+@TableNameA+'.'+left(@collist,charindex(',',@collist)-1)+'+'+@TableNameB+'.'+left(@collist,charindex(',',@collist)-1)+','
set @collist=right(@collist,len(@collist)-charindex(',',@collist))
end
set @sql=left(@sql,len(@sql)-1)+' from #A a join #B b on '+@TableNameA+'.id='+@TableNameB+'.id'
exec (@sql)
---------------------------------------
总是说临时表#A和#B不存在~~
谢谢了