2014-11-04 42 views
0
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' } 

我開始思考這是不可能的,我必須列比較列

+0

看起來你需要一些[動態sql](http://stackoverflow.com/q/7123659/27439) – 2014-11-04 14:47:12

回答

0

嘗試像

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; 

沒有測試動物 - 你會成爲第一!

分享和享受。

相關問題