关于sql server临时表的应用

转载 2006年06月18日 16:12:00
关于sql server临时表的应用
<script type="text/javascript"><!-- google_ad_client = "pub-6960829636784292"; google_ad_width = 250; google_ad_height = 250; google_ad_format = "250x250_as"; google_ad_type = "text_image"; google_ad_channel =""; google_color_border = "FFFFFF"; google_color_bg = "FFFFFF"; google_color_link = "6666CC"; google_color_url = "0000FF"; google_color_text = "6600FF"; //--></script><script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script>


大家看我下面的存储过程,有兴趣一起讨论一下:

CREATE PROCEDURE dbo.Pub_GetPageData
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) -- 需要返回的列
as
declare @strSQL nvarchar(4000) -- 主语句

declare @strTmp varchar(110) -- 临时变量

Set @strSQL = 'select IDENTITY(int, 1,1) AS ID_Num,* into #MyTempTable from emp_vBasicinfobrowse order by nid asc'

exec @strSql

select * from #MyTempTable
GO

如果写成上面的那样,调用是提示 找不到 #MyTempTable

CREATE PROCEDURE dbo.qq
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) -- 需要返回的列
as
declare @strSQL nvarchar(4000) -- 主语句

declare @strTmp varchar(110) -- 临时变量

--Set @strSQL = 'select IDENTITY(int, 1,1) AS ID_Num,* into #MyTempTable from emp_vBasicinfobrowse order by nid asc'

--exec @strSql
select IDENTITY(int, 1,1) AS ID_Num,* into #MyTempTable from emp_vBasicinfobrowse order by nid asc
select * from #MyTempTable
GO

写成上面这样就ok,请问各位碰到这样的情况没,是怎么做的,希望能得到你的帮助,在线等。。。。



要么使用你第二种方法,要么像下面改一下第一种

CREATE PROCEDURE dbo.Pub_GetPageData
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) -- 需要返回的列
as
declare @strSQL nvarchar(4000) -- 主语句

declare @strTmp varchar(110) -- 临时变量

Set @strSQL = 'select IDENTITY(int, 1,1) AS ID_Num,* into #MyTempTable from emp_vBasicinfobrowse order by nid asc'

exec @strSql + ' select * from #MyTempTable'

GO



最后一句应该带()

exec (@strSql + ' select * from #MyTempTable')



我试了下楼主说的情况,在执行动态SQL语句中有领时表时,提示找不到该对象!





我也想知道原因,楼上说的是可以执行成功的!
退出来怎么就不可了呢?



动态语句创建的临时表,在执行完后系统就自动清除了,
可以在exec语句中创建,并select



declare @num int, @sql nvarchar(4000), @tbName varchar(100)
set @tbName='tb'

set @sql='select @a=count(*) from dbo.sysobjects where id = object_id(N''[dbo].[' + @tbName + ']'') and OBJECTPROPERTY(id, N''IsUserTable'') = 1'
exec sp_executesql @sql,N'@a int output',@num output

if @num=1
print '存在表'
else
print '不存在'





CREATE PROCEDURE dbo.Pub_GetPageData
@tblName varchar(255), -- 表名
@strGetFields varchar(1000) -- 需要返回的列
as
declare @strSQL nvarchar(4000) -- 主语句

declare @strTmp varchar(110) -- 临时变量

Set @strSQL = 'select IDENTITY(int, 1,1) AS ID_Num,* into #MyTempTable from emp_vBasicinfobrowse order by nid asc'

Set @strSql = @strSql + ' select * from #MyTempTable'
exec @strSql

GO

SQL Server中的临时表的应用

文章转载自:  SQL Server中的临时表的用法     http://www.studyofnet.com/news/171.html   一。临时表介绍 临时表在运行被创建的,虽说它的名字叫...
  • jkpi888
  • jkpi888
  • 2013年10月25日 00:22
  • 1843

SQL Server创建和使用临时表(转)

创建临时表        方法一:      create table #临时表名(字段1 约束条件,                       字段2 约束条件,             ...

SQL Server中的临时表是否需要显式删除?

众所周知, 临时表的特性如下,生命周期跟连接有关。 /* 1、局部临时表(#开头)只对当前连接有效,当前连接断开时自动删除。 2、全局临时表(##开头)对其它连接也有效,在当前连接和其他访问过它...
  • yenange
  • yenange
  • 2017年12月01日 12:57
  • 1272

sql server 查找临时表,并删除

  if exists(select * from tempdb..sysobjects where id=object_id(tempdb..#temp))drop table #temp  临时表...
  • tftutu
  • tftutu
  • 2011年07月01日 08:23
  • 829

SQL SERVER临时表的使用

转载:http://www.cnblogs.com/shineqiujuan/archive/2008/11/13/1332657.html drop table #Tmp   --删除临时表#Tm...

SQL SERVER临时表的使用

drop table #Tmp   --删除临时表#Tmp create table #Tmp  --创建临时表#Tmp (     ID   int IDENTITY (1,1)     no...

SQL Server中的临时表和表变量

http://hi.baidu.com/zck98530/blog/item/ca369c3d10f82107bba1677a.html SQL Server中的临时表和表变量 再议SQL Serv...

SQL Server创建和使用临时表(转)

创建临时表        方法一:      create table #临时表名(字段1 约束条件,                       字段2 约束条件,             ...

SQL Server 表变量和临时表的区别

一、表变量   表变量在SQL Server 2000中首次被引入。表变量的具体定义包括列定义,列名,数据类型和约束。而在表变量中可以使用的约束包括主键约束,唯一约束,NULL约束和CHEC...

SQL Server 临时表的删除

1. 临时表与一般的表不同,它是保存到tempDb表中。 2 临时表的表名与你所建的表名也不一样,因为他要为不同人的相同操作创建不同的临时表       --错误的临时表删除操作,因为所在数据库...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于sql server临时表的应用
举报原因:
原因补充:

(最多只允许输入30个字)