存储过程-临时表问题
CREATE PROCEDURE dayRank
@middleid nvarchar(4)
AS
declare @condition nvarchar(100)
select @condition=''
if @middleid!=''
select @condition=@condition+' and middleid='+@middleid
select @condition='where datediff(d,regdate,getdate())<=0 '+@condition
print @condition
exec('select counts=(count(*)) ,worknum=worknum into #mm from view_mobile_list '+@condition+' group by worknum')
exec('select id=identity(int,1,1),worknum=worknum,selladdress=selladdress,regdate=regdate,middleid=middleid,middletype=middletype into #day_mobile from view_mobile_list ss where
(not
EXISTS(select worknum from view_mobile_list where id>ss.id and worknum=ss.worknum))')
exec('select top 8 #day_mobile.*,#mm.counts from #day_mobile join #mm on #day_mobile.worknum=#mm.worknum order by #mm.counts desc')
drop table #day_mobile
drop table #mm
GO
执行的时候出错,提示:
服务器: 消息 208,级别 16,状态 1,行 1
对象名 '#day_mobile' 无效。
服务器: 消息 208,级别 16,状态 1,行 1
对象名 '#mm' 无效。
服务器: 消息 3701,级别 11,状态 5,行 1
无法 除去 表 '#day_mobile',因为它在系统目录中不存在。
服务器: 消息 3701,级别 11,状态 5,行 1
无法 除去 表 '#mm',因为它在系统目录中不存在。
这个怎么解决?
@middleid nvarchar(4)
AS
declare @condition nvarchar(100)
select @condition=''
if @middleid!=''
select @condition=@condition+' and middleid='+@middleid
select @condition='where datediff(d,regdate,getdate())<=0 '+@condition
print @condition
exec('select counts=(count(*)) ,worknum=worknum into #mm from view_mobile_list '+@condition+' group by worknum')
exec('select id=identity(int,1,1),worknum=worknum,selladdress=selladdress,regdate=regdate,middleid=middleid,middletype=middletype into #day_mobile from view_mobile_list ss where
(not
EXISTS(select worknum from view_mobile_list where id>ss.id and worknum=ss.worknum))')
exec('select top 8 #day_mobile.*,#mm.counts from #day_mobile join #mm on #day_mobile.worknum=#mm.worknum order by #mm.counts desc')
drop table #day_mobile
drop table #mm
GO
执行的时候出错,提示:
服务器: 消息 208,级别 16,状态 1,行 1
对象名 '#day_mobile' 无效。
服务器: 消息 208,级别 16,状态 1,行 1
对象名 '#mm' 无效。
服务器: 消息 3701,级别 11,状态 5,行 1
无法 除去 表 '#day_mobile',因为它在系统目录中不存在。
服务器: 消息 3701,级别 11,状态 5,行 1
无法 除去 表 '#mm',因为它在系统目录中不存在。
这个怎么解决?
...全文
相关推荐
Oracle存储过程中使用临时表
Oracle存储过程中使用临时表 会话级临时表 事务级临时表
存储过程中的临时表使用方法
创建临时表。临时表与永久表相似,但临时表存储在 tempdb 中,当不再使用时会自动删除。
SQL 存储过程发送HTTP请求
在网上找到的,能在SQL的存储过程中发送HTTP请求的SQL语句,个人觉得还不错,很好用,拿来分享下。
sql临时表相关介绍
sql临时表相关介绍,可以创建本地和全局临时表。本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。 本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。
Sybase临时表技术的多层级应用研究.pdf
Sybase临时表技术的多层级应用研究.pdf


应用实例
