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