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

数据库 SQL Server
SQL Server表变量和临时表相似在创建,区别同样在于于创建,下面就将为您详细分析SQL Server表变量和临时表的区别,供您参考。

SQL Server表变量和临时表尽管在穿件的语法上有些类似,但是还是有些区别,下面就将为您介绍这两者间的区别,希望可以使您对SQL Server表变量和临时表加深理解。

表变量创建的语法类似于SQL Server临时表,区别就在于创建的时候,必须要为之命名。表变量是变量的一种,表变量也分为本地及全局的两种,本地表变量的名称都是以“@”为前缀,只有在本地当前的用户连接中才可以访问。全局的表变量的名称都是以“@@”为前缀,一般都是系统的全局变量,像我们常用到的,如@@Error代表错误的号,@@RowCount代表影响的行数。

如我们看看创建表变量的语句:

DECLARE @News Table ( News_id int NOT NULL,

NewsTitle varchar(100), NewsContent varchar(2000), NewsDateTime datetime )

比较临时表及表变量都可以通过SQL的选择、插入、更新及删除语句,它们的的不同主要体现在以下这些:

1)表变量是存储在内存中的,当用户在访问表变量的时候,SQL Server是不产生日志的,而在临时表中是产生日志的;

2)在表变量中,是不允许有非聚集索引的;

3)表变量是不允许有DEFAULT默认值,也不允许有约束;

4)临时表上的统计信息是健全而可靠的,但是表变量上的统计信息是不可靠的;

5)临时表中是有锁的机制,而表变量中就没有锁的机制。

 

 

 

【编辑推荐】

SQL Server临时表简介

带您了解Sql server表值函数

SQL SERVER索引介绍

Sql Server日期格式转换示例

SQL函数之DATEPART函数

责任编辑:段燃 来源: 互联网
相关推荐

2011-03-29 13:22:07

SQL Server临时表表变量

2010-07-22 16:02:29

2010-07-26 13:56:38

SQL Server临

2011-09-02 14:45:43

Oracle临时表SQL Server临

2010-09-16 15:03:10

SQL Server临

2010-09-16 17:56:31

SQL server临

2010-11-11 10:41:03

sql server遍

2010-10-19 14:45:01

SQL SERVER临

2010-07-23 13:42:11

SQL Server临

2010-07-08 14:42:34

SQL Server临

2010-10-19 15:25:05

Sql Server临

2021-01-18 05:23:14

SQL 排序Server

2010-07-01 14:11:40

SQL Server内

2010-07-22 15:56:04

SQL Server临

2010-07-01 14:46:10

SQL Server临

2010-09-02 16:28:03

SQL删除

2010-10-19 14:56:05

sql server临

2010-07-26 14:02:50

SQL Server临

2010-09-08 17:35:25

SQL表变量

2010-11-11 09:20:46

SQL Server创
点赞
收藏

51CTO技术栈公众号