作者:讲述华哥传奇的生活_616 | 来源:互联网 | 2023-08-10 08:49
在SSMS中使用局部临时表时出现一个报错信息Thereisalreadyanobjectnamed#MY_TABLEinthedatabase.。原因是使用的局部临时表没有及时的D
在SSMS中使用局部临时表时出现一个报错信息"There is already an object named '#MY_TABLE' in the database."。原因是使用的局部临时表没有及时的Drop掉。
如下代码:
DECLARE @NUM INT=1;
CREATE TABLE #MY_TABLE(ID VARCHAR(20));
WHILE (@NUM <=14)
BEGIN
INSERT INTO #MY_TABLE SELECT RIGHT('0000000'+CONVERT(VARCHAR(50),@NUM),7)
SET @NUM+=1
END
SELECT * FROM #MY_TABLE
运行第一次的结果能正常显示
运行第二次的结果就报错表已经存在。
为什么会报错呢?这就要说说局部临时表的作用域问题了。
局部临时表的作用域是在当前的连接。何为当前连接,简单的理解就是一个窗口一个当前连接。
只要把当前连接关闭了。这个局部临时表就会自动消失了