0
我有这样一个逻辑我想实现作为触发器,但我不知道该怎么做!我想创建一个触发器,当一行被删除时,它会检查其中一列的值是否存在于另一个表中,如果存在,它也应该根据另一列在另一个表上执行删除操作。循环和条件触发内部
所以说我们有一个表Foo有列Bar,Baz。这就是ID做,如果我不使用触发器:
function deleteFromFooTable(FooId)
{
SELECT (Bar,Baz) FROM FooTable WHERE id=FooId
if not-empty(SELECT * FROM BazTable WHERE id=BazId)
DELETE FROM BarTable WHERE id=BarId
DELETE FROM FooTable WHERE id=FooId
}
我跳了一些篮球在伪代码,但我希望你们都拿到哪里我去。看起来我需要的是一种在触发器语句中执行条件和循环(在多行删除的情况下)的方法。到目前为止,我还没有找到任何东西。这是不可能的,还是这种不好的做法?谢谢!
感谢凯文,这几乎是我所需要的,除了是否删除它取决于它是否被另一个表引用。我会怎么做? – Ying 2010-03-24 20:53:53
@Ying这是应该做的。如果它没有被另一个表引用,它只会删除一些东西。 – 2010-03-24 21:06:05