c# - 以编程方式使用 c# 删除 SQL Server 2016 表

标签 c# sql-server

我正在编写的程序的一部分运行一些 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/

相关文章:

c# - 使用 Rx 进行上下文菜单操作

c# - 泛型和转换 - 不能将继承的类转换为基类

sql - 简化的 SQL Min 语句

sql-server - 如何将带引号的 float 插入数字字段?

sql - 填充 SQL 查询结果集中缺失的(时间段)行

SQL Server 在现有选择列中添加计数列

mysql - MS SQL从表中读取带撇号的值并将其保存在另一个表中

c# - 在 C# 中用常量替换硬编码字符串

c# - 在 C# 中将 .EPS 转换为图像

c# - 如何在 C# 中转义 XML 字符串中的无效字符