我正在编写的程序的一部分运行一些 T-SQL 代码。该程序将一直循环运行,直到我停止它。当它第一次运行时没有问题。当它第二次运行时,我在尝试运行 T-SQL 代码时遇到错误。它说代码创建的临时表之一已经存在于数据库中。代码在尝试将记录插入临时表之前删除了临时表。我不知道我是否在 T-SQL 代码中正确配置了它,或者它是否无法运行删除表(如果存在)的 T-SQL 代码。我还尝试在 c# 代码中删除表格,这是我尝试过的:
cn.Open();
string cmdText = @"BEGIN TRANSACTION; DROP TABLE IF EXISTS #temp850; COMMIT TRANSACTION;";
SqlCommand command = new SqlCommand(cmdText, cn);
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();
cn.Close();
这是我收到的错误消息:
There is already an object named '#temp850' in the database.
有人可以帮忙吗?
最佳答案
在创建临时表之前,只需放置以下 SQL 语句
IF OBJECT_ID('tempdb..#temp850') IS NOT NULL DROP TABLE #temp850
GO
SELECT 1 col1 INTO #temp850
关于c# - 以编程方式使用 c# 删除 SQL Server 2016 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48533458/