SQL Server 表变量和临时表的区别
1个回答
2017-10-20
展开全部
表变量的具体定义包括列定义,列名,数据类型和约束。只是表变量通过DECLARE @local_variable语句进行定义。
临时表和Create Table语句创建的表有着相同的物理工程,但临时表与正常的表不同之处有:
1、临时表的名称不能超过116个字符。
2、局部临时表(以"#"开头命名的)作用域仅仅在当前的连接内。
3、全局临时表(以"##"开头命名的)在所有的会话内可见,所以在创建全局临时表之前首先检查其是否存在,否则如果已经存在,你将会得到重复创建对象的错误。
4、不能对临时表进行分区。
5、不能对临时表加外键约束。
6、临时表内列的数据类型不能定义成没有在TempDb中没有定义自定义数据类型。
7、XML列不能定义成XML集合的形式,除非这个集合已经在TempDb中定义。
临时表和Create Table语句创建的表有着相同的物理工程,但临时表与正常的表不同之处有:
1、临时表的名称不能超过116个字符。
2、局部临时表(以"#"开头命名的)作用域仅仅在当前的连接内。
3、全局临时表(以"##"开头命名的)在所有的会话内可见,所以在创建全局临时表之前首先检查其是否存在,否则如果已经存在,你将会得到重复创建对象的错误。
4、不能对临时表进行分区。
5、不能对临时表加外键约束。
6、临时表内列的数据类型不能定义成没有在TempDb中没有定义自定义数据类型。
7、XML列不能定义成XML集合的形式,除非这个集合已经在TempDb中定义。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询