局部临时表和全局临时表,临时表被创建到tempdb数据库中。
局部临时表会一直存活,直到创建它的数据库连接被删除,当存储过程运行完毕,或是查询编辑器窗口关闭时,就会发生连接被删除。局部临时表的命名使用#开头。
也可以使用
全局临时表生存期明显不同。当一个连接创建一个全局临时表时,它可以被其他用户和其他任何连接所使用,只有当该数据库上所有连接都被关闭后,全局临时表才会被"删除"。全局临时表的命名使用##开头。
也可以使用
局部临时表会一直存活,直到创建它的数据库连接被删除,当存储过程运行完毕,或是查询编辑器窗口关闭时,就会发生连接被删除。局部临时表的命名使用#开头。
CREATE TABLE #tempTB(id VARCHAR(10), name VARCHAR(20));
INSERT INTO #tempTB VALUES('aa','bb');
SELECT * FROM #tempTB;
DROP TABLE #tempTB;
也可以使用
CREATE TABLE #tempTB(id VARCHAR(10), name VARCHAR(20));
INSERT INTO #tempTB SELECT r.id, r.name FROM realTB r
全局临时表生存期明显不同。当一个连接创建一个全局临时表时,它可以被其他用户和其他任何连接所使用,只有当该数据库上所有连接都被关闭后,全局临时表才会被"删除"。全局临时表的命名使用##开头。
CREATE TABLE ##tempTB(id VARCHAR(10), name VARCHAR(20))
INSERT INTO ##tempTB VALUES('aa','bb')
SELECT * FROM ##tempTB
DROP TABLE ##tempTB
也可以使用
CREATE TABLE ##tempTB(id VARCHAR(10), name VARCHAR(20));
INSERT INTO ##tempTB SELECT r.id, r.name FROM realTB r