【问题标题】:How to execute Create Trigger SQL statement within C# code如何在 C# 代码中执行 Create Trigger SQL 语句
【发布时间】:2021-12-26 23:34:28
【问题描述】:

我希望在使用 C# 代码删除特定触发器时动态创建它。

检查触发器是否存在的部分已经完成,但我不知道如何在c#代码中执行create trigger。我不确定ExecuteNonQueryExecuteQuery 是否会起作用,或者根本不起作用。

【问题讨论】:

  • 旁白:你可以只做CREATE OR ALTER,这将创建或替换触发器,无需检查是否存在
  • 你的意思是它会替换旧触发器,即使它们具有相同的名称?
  • docs.microsoft.com/en-us/sql/t-sql/statements/… "OR ALTER 仅当触发器已存在时才会有条件地更改它。"

标签: c# sql ado.net


【解决方案1】:

ADO.NET SqlCommand 类有几种方法来执行 SQL 代码。

  • ExecuteReader:返回一个IDataReader来读取数据
  • ExecuteScalar:从 SQL 语句返回单个原子值
  • ExecuteNonQuery:不返回任何数据,而是执行传递的SQL语句

从简短的描述来看,应该很清楚您需要使用哪一个 - ExecuteNonQuery - 因为其他两种方法都将数据返回给调用者 - 不是您正在 SQL 代码中创建触发器。

所以只需为要在其中创建触发器的数据库设置一个普通的SqlConnection,创建一个SqlCommand 并将CREATE TRIGGER 语句定义为其命令文本,然后在该@987654330 上运行ExecuteNonQuery @ - 完成。

【讨论】:

  • 我明白了。感谢您的详细说明....我想知道是否有办法制作触发删除/删除证明,尤其是在未执行应用程序时?
猜你喜欢
  • 2011-03-31
  • 1970-01-01
  • 2012-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-08
  • 1970-01-01
相关资源
最近更新 更多