我有以下命令在数据库中创建触发器
command.ExecuteNonQuery();
触发器已成功创建。但是如何在执行命令时检测是否已创建它?
到目前为止,我设法执行分离的命令,检查数据库中是否存在触发器,但我需要检查它是否在创建时。
string insert = " CREATE TRIGGER TraNag_UpdateInsertOpis ON dbo.TraNag"
+ " FOR INSERT,UPDATE"
+ " AS"
+ " DECLARE @OpisInsert varchar(1024)"
+ " DECLARE @TrnSymbolInsert varchar(40)"
+ " select @TrnSymbolInsert = TrN_Symbol, @OpisInsert = Trn_Opis from inserted "
+ " IF (@TrnSymbolInsert = 'MMW')"
+ " BEGIN"
+ " IF NOT EXISTS("
+ " SELECT Mag_Symbol"
+ " FROM dbo.Magazyny"
+ " WHERE Mag_Symbol like @OpisInsert"
+ " )"
+ " BEGIN"
+ " RAISERROR('Error NOT FOR STACKOVERFLOWWWW !!! : %s', 16, 1, @OpisInsert);"
+ " END END";
答案 0 :(得分:2)
只需检查之前和之后在运行ExecuteNonQuery
之后是否存在触发器。这将检测是否已经创建了触发器,或者是否根据您的命令创建了触发器。