表变量与临时表的区别和联系
来源:互联网 发布:网络虚拟技术 编辑:程序博客网 时间:2024/06/07 04:43
工作过程中经常用到临时表,但还没用到过表变量,某次在一个存储过程中看到公司项目中用到过,而且之前工作中也见到过,一直没有做一个笔记。以下内容也还是网上搜来的,仅供备份~~~
特性表变量临时表作用域当前批处理当前会话,嵌套存储过程,全局:所有会话使用场景自定义函数,存储过程,批处理自定义函数,存储过程,批处理创建方式DECLARE statement only.只能通过DECLEARE语句创建CREATE TABLE 语句
SELECT INTO 语句.
表名长度最多128字节最多116字节列类型可以使用自定义数据类型
可以使用XML集合
自定义数据类型和XML集合必须在TempDb内定义Collation字符串排序规则继承自当前数据库字符串排序规则继承自TempDb数据库索引索引必须在表定义时建立索引可以在表创建后建立约束PRIMARY KEY, UNIQUE, NULL, CHECK约束可以使用,但必须在表建立时声明PRIMARY KEY, UNIQUE, NULL, CHECK. 约束可以使用,可以在任何时后添加,但不能有外键约束表建立后使用DDL (索引,列)不允许允许.数据插入方式INSERT 语句 (SQL 2000: 不能使用INSERT/EXEC).INSERT 语句, 包括 INSERT/EXEC.
SELECT INTO 语句.
Insert explicit values into identity columns (SET IDENTITY_INSERT).不支持SET IDENTITY_INSERT语句支持SET IDENTITY_INSERT语句Truncate table不允许允许析构方式批处理结束后自动析构显式调用 DROP TABLE 语句.当前会话结束自动析构 (全局临时表: 还包括当其它会话语句不在引用表.)事务只会在更新表的时候有事务,持续时间比临时表短正常的事务长度,比表变量长存储过程重编译否会导致重编译回滚不会被回滚影响会被回滚影响统计数据不创建统计数据,所以所有的估计行数都为1,所以生成执行计划会不精准创建统计数据,通过实际的行数生成执行计划。作为参数传入存储过程仅仅在SQL Server2008, 并且必须预定义 user-defined table type.不允许显式命名对象 (索引, 约束).不允许允许,但是要注意多用户的问题动态SQL必须在动态SQL中定义表变量可以在调用动态SQL之前定义临时表
0 0
- 表变量与临时表的区别和联系
- 临时表与表变量的区别和使用方法
- 临时表和表变量的区别
- 临时表和表变量的区别
- 临时表和表变量的区别
- 表变量和临时表的区别
- 表变量和临时表的区别
- 表变量和临时表的区别
- 临时表和表变量的区别
- MySQ临时表和内存表的联系和区别
- sqlserver 中临时表、临时变量和with as关键词创建“临时表”的区别
- SQL Server中临时表与表变量的区别
- SQL Server中临时表与表变量的区别
- SQL Server中临时表与表变量的区别
- SQL Server中临时表与表变量的区别
- SQL Server中临时表与表变量的区别
- SQL Server中临时表与表变量的区别
- SQL Server中临时表与表变量的区别
- iOS如何实现录音
- static关键字的用法
- Spring 3整合Quartz 2实现定时任务三:动态暂停 恢复 修改和删除任务
- openlayer绘图时禁止移动地图的两种方式
- memcache压测
- 表变量与临时表的区别和联系
- 一般现在常见的网站攻击方式
- [Android]导入导出Excel表格到本地SQLite
- 实习第一周(第三天)(linux如何查看变量,read命令,通配符, 撷取命令: cut, grep,sort,wc,uniq等等)
- 大数定律
- UML学习笔记(五)--顺序图
- mysql取出大于3的赞评论(取出热门评论),然后其余的按时间先后顺序
- 鉴黄那些事
- SVM 基本概念及Python实现方式