sql server中的临时表与普通表有什么区别?
sqlserver临时表是什么概念?临时表是存在在服务器的硬盘上还是在服务器的内存中或是客户的硬盘或内存中?听说在存储过程中可以创建和访问临时表,存储过程结束了临时表也就...
sqlserver临时表是什么概念?临时表是存在在服务器的硬盘上还是在服务器的内存中或是客户的硬盘或内存中?听说在存储过程中可以创建和访问临时表,存储过程结束了临时表也就自动释放了,是这样吗?
展开
展开全部
临时表分为:
本地临时表,仅限于当前访问者访问,创建方法去如下:
create table #TableName(表结构)
储存于数据库tempdb内(硬盘),当前用户断开连接,自动删除
如果使用中不断开连接,且不需要该临时表请执行:drop table #TableName
全局临时表,所有访问用户访问,创建方法去如下:
create table ##TableName(表结构)
储存于数据库tempdb内,当所有访问用户断开连接,自动删除
删除语句:drop table ##TableName
本地临时表,仅限于当前访问者访问,创建方法去如下:
create table #TableName(表结构)
储存于数据库tempdb内(硬盘),当前用户断开连接,自动删除
如果使用中不断开连接,且不需要该临时表请执行:drop table #TableName
全局临时表,所有访问用户访问,创建方法去如下:
create table ##TableName(表结构)
储存于数据库tempdb内,当所有访问用户断开连接,自动删除
删除语句:drop table ##TableName
展开全部
恩 我觉得应该是在客户的内存中形成的 理论我也不大清楚 给你举个例子吧
SELECT * FROM (SELECT * FROM table_a WHERE column_a=123) new
其中括号里面的就是子查询时形成的临时表 给他取名为new 然后再从这个new表里面查询别的信息
当这个语句结束时 new表就释放掉了 再也无法访问
SELECT * FROM (SELECT * FROM table_a WHERE column_a=123) new
其中括号里面的就是子查询时形成的临时表 给他取名为new 然后再从这个new表里面查询别的信息
当这个语句结束时 new表就释放掉了 再也无法访问
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
作用域不同,当你关闭sql连接的时候 临时表就会 自动删除,普通表不会
1、创建方法:
方法一:
create table TempTableName
或
select [字段1,字段2,...,] into TempTableName from table
方法二:
create table tempdb.MyTempTable(Tid int)
说明:
(1)、临时表其实是放在数据库tempdb里的一个用户表;
(2)、TempTableName必须带“#”,“#"可以是一个或者两个,以#(局部)或##(全局)开头的表,这种表在会话期间存在,会话结束则自动删除;
(3)、如果创建时不以#或##开头,而用tempdb.TempTable来命名它,则该表可在数据库重启前一直存在。
2、手动删除
drop table TempTableName
普通表和临时表的区别只是表名开头无 "#"
1、创建方法:
方法一:
create table TempTableName
或
select [字段1,字段2,...,] into TempTableName from table
方法二:
create table tempdb.MyTempTable(Tid int)
说明:
(1)、临时表其实是放在数据库tempdb里的一个用户表;
(2)、TempTableName必须带“#”,“#"可以是一个或者两个,以#(局部)或##(全局)开头的表,这种表在会话期间存在,会话结束则自动删除;
(3)、如果创建时不以#或##开头,而用tempdb.TempTable来命名它,则该表可在数据库重启前一直存在。
2、手动删除
drop table TempTableName
普通表和临时表的区别只是表名开头无 "#"
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询