2016-03-28 7 views

答えて

1

TSQL:

UPDATE 
    Table_A 
SET 
    Table_A.col1 = Table_B.col1, 
    Table_A.col2 = Table_B.col2 
FROM 
    Some_Table Table_A 
INNER JOIN 
    Other_Table Table_B 
ON 
    Table_A.id = Table_B.id 
WHERE 
    Table_A.col3 = 'cool' 

PLSQL:

UPDATE table1 t1 
    SET (name, desc) = (SELECT t2.name, t2.desc 
         FROM table2 t2 
         WHERE t1.id = t2.id) 
WHERE EXISTS (
    SELECT 1 
     FROM table2 t2 
    WHERE t1.id = t2.id) 

OR:

UPDATE (SELECT t1.id, 
       t1.name name1, 
       t1.desc desc1, 
       t2.name name2, 
       t2.desc desc2 
      FROM table1 t1, 
       table2 t2 
     WHERE t1.id = t2.id) 
    SET name1 = name2, 
     desc1 = desc2 

SOURCE:enter link description here

+1

コードは、T-SQLであると私は同等で欲しいですpl-sqlではなくt-sql? – SajjaD

+1

これを代わりに試してみてください:http://www.techonthenet.com/oracle/update.php – SnakeFoot

+0

あなたの返事に感謝しますが、特にnested tableのpl-sqlコレクションでこれを行うことはできますか? – SajjaD

関連する問題