drop table #Tmp --删除临时表#Tmp 相关例子: Declare @Wokno Varchar(500) --用来记录职工号 本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。 SQL 语句使用 CREATE TABLE 语句中为 table_name 指定的名称引用临时表: CREATE TABLE #MyTempTable (cola INT PRIMARY KEY) 如果本地临时表由存储过程创建或由多个用户同时执行的应用程序创建,则 SQL Server 必须能够区分由不同用户创建的表。为此,SQL Server 在内部为每个本地临时表的表名追加一个数字后缀。存储在 tempdb 数据库的 sysobjects 表中的临时表,其全名由 CREATE TABLE 语句中指定的表名和系统生成的数字后缀组成。为了允许追加后缀,为本地临时表指定的表名 table_name 不能超过 116 个字符。 除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去: 当存储过程完成时,将自动除去在存储过程中创建的本地临时表。由创建表的存储过程执行的所有嵌套存储过程都可以引用此表。但调用创建此表的存储过程的进程无法引用此表。
CREATE PROCEDURE Test2 下面是结果集: (1 row(s) affected) Test1Col (1 row(s) affected) Test2Col 当创建本地或全局临时表时,CREATE TABLE 语法支持除 FOREIGN KEY 约束以外的其它所有约束定义。如果在临时表中指定 FOREIGN KEY 约束,该语句将返回警告信息,指出此约束已被忽略,表仍会创建,但不具有 FOREIGN KEY 约束。在 FOREIGN KEY 约束中不能引用临时表。 考虑使用表变量而不使用临时表。当需要在临时表上显式地创建索引时,或多个存储过程或函数需要使用表值时,临时表很有用。通常,表变量提供更有效的查询处理。 转自:http://hi.baidu.com/sq19880308/blog/item/51f0841075c31974ca80c4bb.html |
相关文章
- Server 2005中的分区表(一):什么是分区表?为什么要用分区表?如何创建分区表?
- 如何从SQL Server中具有多个值的2个复合键的表中删除多行?
- 从另一个数据库中的select语句中创建一个新表,如何使用Create Table As语句啊?
- 如何使用Powershell列出所有SQL Server表,列和列数据类型?
- SQL Server 向数据库中创建表并添加数据
- 在SQL SERVER 的数据库设计期,可以修改表中某个字段的名称或删除这个字段,如何在程序中做到这一点呢,用什么语句?
- 如何使用TSQL将文件上载到SQL Server 2008中的varbinary(max)列?
- SQL Server触发器 - 使用deletetime将已删除的记录插入另一个表中
- 如何在一个SQL查询中连接来自两个不同SQL Server实例的表[重复]
- 如果SQL Server中不存在等价的表,则创建表[duplicate]