/*
1.本地临时表仅在当前会话中可见;全局临时表在所有会话中都可见。
2.本地临时表的名称前面有一个编号符 (#table_name),而全局临时表的名称前面有两个编号符 (##table_name)。
3.除非使用 DROP TABLE 语句显式除去临时表,否则临时表将在退出其作用域时由系统自动除去[会话结束时,临时表自动去除]:
*/
--创建临时表
CREATE TABLE #maintmp(
ID INT IDENTITY(1,1) PRIMARY KEY,
DESCRIBE VARCHAR(500)
)
--创建全局临时表
CREATE TABLE ##globaltmp(
ID INT IDENTITY(1,1) PRIMARY KEY,
DESCRIBE VARCHAR(500)
)
/*
在sysobjects系统表中存储着数据库的所有对象,每个对象都有一个唯一的id号进行标识.
object_id就是根据对象名称返回该对象的id.
反之,object_name是根据对象id返回对象名称.
sysobjects Z中 Xtype字段代表对象类型 U 为表 p为存储过程
*/
DECLARE @Count int
USE tempdb
--判断临时表是否存在
SELECT @Count=COUNT(1) from sysobjects where id =object_id('#maintmp')
IF(@Count>0)
BEGIN
--如果临时表存在,清空临时表数据
TRUNCATE TABLE #maintmp
END
ELSE
BEGIN
--创建临时表
CREATE TABLE #maintmp(
ID INT IDENTITY(1,1) PRIMARY KEY,
DESCRIBE VARCHAR(500)
)
END
--手动删除临时表
DROP TABLE #maintmp
LIN SHI BIAO 【鸡蛋】
最新推荐文章于 2024-04-28 16:11:59 发布