Plsql 基于另一个具有键/值对的表从一个表中删除行

Plsql 基于另一个具有键/值对的表从一个表中删除行,plsql,Plsql,我需要知道我可以使用什么样的SQL来产生以下结果: 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" remove

我需要知道我可以使用什么样的SQL来产生以下结果:

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"}
我开始认为这是不可能的,我必须对各个列进行比较

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;