存储过程-临时表问题

casoon 2005-08-13 10:28:49
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',因为它在系统目录中不存在。
这个怎么解决?
...全文
376 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
520zyb 2005-08-13
  • 打赏
  • 举报
回复
就是直接在前面再+#
hlq8210 2005-08-13
  • 打赏
  • 举报
回复
exec('select top 8 #day_mobile.*,#mm.counts from #day_mobile join #mm on #day_mobile.worknum=#mm.worknum order by #mm.counts desc')
-------------------------------------------------------------
上面执行完以后临时表已经自动消失了。。。
不过避免程序出问题在删除表的时候这样写

if object_id('表名')is not null dorp table 表名

----------------------------------
你程序只要去掉以下两句就好了
drop table #day_mobile
drop table #mm

casoon 2005-08-13
  • 打赏
  • 举报
回复
520zyb(欲穷千里目,更上一层楼) ,能不能帮我修改下整个语句!
casoon 2005-08-13
  • 打赏
  • 举报
回复
就是再加一#号?
520zyb 2005-08-13
  • 打赏
  • 举报
回复
临时表#只能当前工作区内有效,只能在一个exec()语句中才能用
建议用全局临时表##,用完后Drop 掉
内容概要:本文围绕“【SCUC】N-1故障集+安全约束机组组合研究(Matlab代码实现)”展开,系统探讨电力系统在N-1故障场景下的安全约束机组组合(SCUC)问题,旨在实现系统安全性与运行经济性的协同优化。研究通过构建包含机组启停、出力计划、潮流约束、备用容量及N-1安全准则的数学模型,结合混合整数线性规划等优化算法,利用Matlab平台完成仿真求解,并引入YALMIP等建模工具提升建模效率。文档提供了完整的代码实现方案与测试案例,涵盖故障集的生成与处理方法,帮助用户掌握鲁棒性和分布鲁棒优化的基本思想,适用于电力系统安全校核与调度决策支持。; 适合人群:电力系统及相关专业的研究生、从事电力调度、能源优化的科研人员及工程技术人员。; 使用场景及目标:① 掌握N-1安全准则在机组组合中的建模方法与实现流程;② 开展安全约束机组组合(SCUC)与安全约束经济调度(SCED)的仿真分析;③ 利用Matlab/YALMIP快速搭建电力系统优化模型并进行求解与验证。; 阅读建议:建议读者结合文档内容与网盘提供的完整资源(含代码与数据),动手实践建模与调试过程,重点关注约束条件的设定、故障场景的枚举与处理策略,同时参考相关文献深化对鲁棒优化与分布鲁棒方法的理解。

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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