給定一個SQL語句:我如何通過從SQL select語句返回的行列表的迭代?
select id from myTable
where id = -1
如何通過每個結果的重複?我想對每個結果執行特定操作,例如(以僞代碼形式):
foreach (result from my statment)
{
delete all rows from myOtherTable that has a value of result;
}
我該如何編寫SQL語句來執行此操作?
N.B.我想這樣做的原因是因爲我想要刪除的行的表被其他表引用。所以我想,如果我刪除引用此特定行所有表中的行,然後刪除該行一切都會好起來。
如果將myOtherTables上的外鍵設置爲myTable並且級聯刪除將起作用,那麼甚至可能不需要執行刪除myOtherTable WHERE myTableId IN(SELECT id FROM myTable WHERE id = -1),而是僅刪除FROM myTable WHERE id = -1。 – 2009-06-10 14:04:22
@sheepsimulator,你是對的。 – 2009-06-10 14:15:50