declare @ReceDetail varchar(1000) set @recedetail='select teacherid,mobile,path from jxtmsg.dbo.jxt_teacher where mobile <>'''' and ' if @areaid is not null begin set @recedetail=@recedetail+' left(areaid,4)='+Convert(varchar,@areaid)+'' end else begin set @ret=1 return end if @schid is not null begin set @recedetail=@recedetail+' and schid='+Convert(varchar,@schid)+'' end declare @newReceDetail varchar(4500) create table #HT_recemember(teacherid varchar(15),teachername varchar(10), mobile varchar(15),path varchar(10))--创建存在接收人对象的临时表 set @newReceDetail='insert into #HT_recemember '+@ReceDetail @ReceDetail中选择出来的只有3列数据, 而你定影的表#HT_recemember中有4列, 所以不对应,所以出现错误. insert into #HT_recemember select teacherid,mobile,path from jxtmsg.dbo.jxt_teacher where mobile <>....
insert A(a,b) values(xx,xx,xxx)
表只有2个列,你写了3个值进去,就会出现你描述的错误信息,具体是哪问题,你根据你的环境去检查一下就知道了。
set @recedetail='select teacherid,mobile,path from jxtmsg.dbo.jxt_teacher where mobile <>'''' and '
if @areaid is not null
begin
set @recedetail=@recedetail+' left(areaid,4)='+Convert(varchar,@areaid)+''
end
else
begin
set @ret=1
return
end
if @schid is not null
begin
set @recedetail=@recedetail+' and schid='+Convert(varchar,@schid)+''
end
declare @newReceDetail varchar(4500)
create table #HT_recemember(teacherid varchar(15),teachername varchar(10), mobile varchar(15),path varchar(10))--创建存在接收人对象的临时表 set @newReceDetail='insert into #HT_recemember '+@ReceDetail @ReceDetail中选择出来的只有3列数据,
而你定影的表#HT_recemember中有4列,
所以不对应,所以出现错误.
insert into #HT_recemember
select teacherid,mobile,path from jxtmsg.dbo.jxt_teacher where mobile <>....