解决方案 »

  1.   

    集合是哪里来的?
    百度下merge into的用法,可能对你有帮助
      

  2.   

    MERGE INTO 是Oracle 9i以后才出现的新的功能。那这个功能 是什么呢?
     简单来说,就是:“有则更新,无则插入”
    从这句话里,应该可以理解到,merge into 操作一个对象'A'的时候,要有另外一个结果集做为源数据 'B'.
     ‘merge into’  将B中的数据与A中的数据按照一定条件'C'进行对比,如果 A中数据满足C条件,则进行update操作,
    如果不满足条件 'C',则进行insert操作。(请注意这种对应关系)
      

  3.   

    使用merge into解决,这也是我今天下午刚学习的新知识。
    merge into,有一个特殊功能,就是当存在记录的时候进行更新操作,不存在数据的时候,进行插入操作。相当于mssql中的
    if exists(...)
    update table 
    else
    insert into table
    语法如下:
      MERGE INTO table_name alias1 
      USING (table|view|sub_query) alias2 
      ON (join condition) 
      WHEN MATCHED THEN 
      UPDATE table_name 
      SET col1 = col_val1, 
      col2 = col2_val 
      WHEN NOT MATCHED THEN 
      INSERT (column_list) VALUES (column_values);