Sql server SQL Server:如果存在,则触发多个
sql-server
Sql server SQL Server:如果存在,则触发多个,sql-server,Sql Server,我有一个触发器设置,下面我有两个问题代码听起来像吗如果更
Sql server SQL Server:如果存在,则触发多个 sql-server Sql server SQL Server:如果存在,则触发多个,sql-server,Sql Server,我有一个触发器设置,下面我有两个问题代码听起来像吗如果更新中存在另一个,我如何嵌套它。基本上,我希望它捕获另一列Mssq触发器,具体取决于组件名称是“x”还是“y”特别是,如果名称为“x”,我想更新JobStart=jr.start;如果名称为“y”,我想更新JobEnd=jr.endALTER TRIGGER [dbo].[T_trigger_IU] ON [dbo].[tableA] AFTER INSERT, UPDATEAS BEGIN TRAN-- SET NOC 我有一个触发器设置,下面我有两个问题 代码听起来像吗 如果更新中存在另一个,我如何嵌套它。基本上,我希望它捕获另一列,具体取决于组件名称是“x”还是“y” 特别是,如果名称为“x”,我想更新JobStart=jr.start;如果名称为“y”,我想更新JobEnd=jr.end
对于初学者:我个人更喜欢有两个单独的触发器-每个操作一个-而不是必须做大量的检查来决定使用哪个代码路径。第二:不要在触发器中使用BEGIN TRAN…COMMIT TRAN!触发器已在导致触发此触发器的语句已启动的环境事务中运行。因此,如果我读取此正确信息,您建议1个触发器用于If exists更新,1个触发器用于If not exists插入?我直接从这里得到的begin tran-随着推理的改变?我担心的是要做我想做的事情通过这种方法我将有50多个触发器,但是是的,隔离坏的触发器会更好,但是将整个过程包含在一个触发器中以限制数据库查找不是更好吗?是的,我将有一个触发器用于更新,另外还有一个单独的INSERT,这样您就可以提前知道您正在处理更新和/或INSERT,并且不需要太多的检查代码。关于交易的推理没有改变-你可能只是误解了那些答案-他们没有处理触发器-在触发器中,您已经在导致触发的语句的环境事务中了-让该事务更清楚地完成它的工作,并且有意义,坦率地说,我喜欢将代码分开,所以我不会抱怨。问题只是有多个触发器要过滤,所以我必须仔细研究如何有效地命名它们。这非常适合thnx。现在,我的延迟不是如何将所有触发器链接到一个触发器,而是如何命名它们以便正确组织: (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |