当前位置: 代码迷 >> Sql Server >> 关于存储过程中临时表的使用有关问题
  详细解决方案

关于存储过程中临时表的使用有关问题

热度:50   发布时间:2016-04-24 10:15:13.0
关于存储过程中临时表的使用问题


看代码,我做了拼接语句,创建临时表病添加数据,出错



从上面错误可以看出  应该是执行 “select * from #djd” 出错,问题应该就是没有#djd临时表
现在问题来了 我直接执行print出来了的“select * into #djd from LinkERP.pubdata12.dbo.css_djd as djd  where djd.zdrq>='2009-05-25 00:00:00.000' and djd.zdrq<='2009-06-1 00:00:00.000'”  这句话。完全没问题,数据有临时表有。
请问大神 这是神马情况,谢谢
------解决方案--------------------

 实体表或者全局临时表都行啊,可以替代你这种情况,实体表使用之前先清空一下,全局临时表删除再创建


alter PROCEDURE testExec
-- Add the parameters for the stored procedure here
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

    -- Insert statements for procedure here
declare @sql varchar(200)
if exists(select 1 from tempdb.##temp1)
drop table ##temp1
set @sql='select * into ##temp1 from t1';
exec(@sql);
select * from ##temp1;
END
GO

  相关解决方案