gpt4 book ai didi

sql-server - SQL Server - 如果不存在则创建临时表

转载 作者:行者123 更新时间:2023-12-04 01:32:05 25 4
gpt4 key购买 nike

在我的 SQL Server 2012 环境中,我创建了一系列存储过程,它们在它们之间传递预先存在的临时表(我在这里尝试了不同的架构,但由于需求/过程的性质而无法绕过它)。

我想做的是在存储过程中检查是否已经创建了临时表,如果没有,则创建它。

我当前的 SQL 如下所示:

IF OBJECT_ID('tempdb..#MyTable') IS NULL
CREATE TABLE #MyTable
(
Col1 INT,
Col2 VARCHAR(10)
...
);

但是当我尝试运行它时 当表已经存在时 ,我收到错误消息

There is already an object named '#MyTable' in the database



因此,它似乎并没有简单地忽略 If 语句中的那些行。

有没有办法做到这一点 - 如果临时表尚不存在,则创建一个临时表,否则,使用内存中已有的表?

谢谢!

更新:

无论出于何种原因,根据@RaduGheorghiu 从评论中提出的建议,我发现系统创建了一个临时表,其名称类似于 dbo.#MyTable________________________________________________0000000001B1
这就是我找不到的原因吗?有什么办法可以改变吗?这对我来说是新的......

最佳答案

关于sql-server - SQL Server - 如果不存在则创建临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42511328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com