我需要更新记录状态(字段名称IsActivate - 它保存记录的状态)但是需要首先检查数据是否在另一个表中使用(意味着表与另一个表有关系)。如果数据我要更新的是在另一个表中使用,不允许更新,否则应该更新。如何使用MS SQL 2005创建触发器来实现这种方法?或者这可以通过SP实现?如何?
答案 0 :(得分:2)
如果我是你,我会避免使用触发器。您可以在SP中轻松完成此操作。
用于更新记录的SP应该执行以下操作: -
@value
@value
SELECT
语句中使用SELECT @result = count(1) FROM tableToCheck WHERE columnToCheck = @value
@result
= 0,请继续并触发现有的UPDATE
声明@resul
t&lt;&gt; 0,在您的业务场景中执行您需要做的任何事情,例如更新输出参数以指示您的更新失败如果您想知道上述逻辑的语法,如果您使用的是SQL Server,则可以查找MSDN;如果使用MySQL,则可以查找MySQL docs;如果您使用的话,可以查找Oracle help使用Oracle。如果是其他任何引擎,只需谷歌“CREATE PROCEDURE <engineName>
”
然后,如果您对语法有任何具体问题,请随时将它们与您的代码一起发布,我们很乐意为您提供帮助!!