从一个表删除行基于关闭具有键/值对
问题描述:
Table1 { name = 'bob' job='trucker' gender='male' car='blue' } Table1 { name = 'dave' job='Driver' gender='male' car='red' } Table1 { name = 'jane' job='loader' gender='female' car='purple' }
table2 (removeID="name" removeKey="jane"} table2 (removeID="car" removeKey="red"}
我需要知道我可以使用哪些SQL会给出的结果另一个表:从一个表删除行基于关闭具有键/值对
Table1 { name = 'bob' job='trucker' gender='male' car='blue' }
我开始思考这是不可能的,我必须列比较列
答
尝试像
CREATE PROCEDURE DELETE_FROM_TABLE1
strSql VARCHAR2(32767);
BEGIN
FOR aRow IN (SELECT * FROM TABLE2)
LOOP
strSql := 'DELETE FROM TABLE1 WHERE ' ||
aRow.REMOVEID || '= ''' ||
aRow.REMOVEKEY || '''';
EXECUTE IMMEDIATE strSql;
END LOOP;
END DELETE_FROM_TABLE1;
没有测试动物 - 你会成为第一!
分享和享受。
看起来你需要一些[动态sql](http://stackoverflow.com/q/7123659/27439) – 2014-11-04 14:47:12