posts - 72, comments - 19, trackbacks - 0, articles - 0

oracle9的一个SQL语句

Posted on 2006-11-28 18:06 阅读(173) 评论(0)  编辑 收藏 引用 所属分类: oracle学习
         MERGE语句是Oracle9i新增的语法,用来合并UPDATE和INSERT语句。通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。这个语法仅需要一次全表扫描就完成了全部工作,执行效率要高于INSERT+UPDATE,语法格式
       MERGE INTO T1
USING (SELECT OWNER, OBJECT_NAME, MAX(ID) ID FROM T GROUP BY OWNER, OBJECT_NAME) T
ON (T.OWNER = T1.OWNER AND T.OBJECT_NAME = T1.TABLE_NAME)
WHEN MATCHED THEN UPDATE SET T1.ID = T.ID WHEN NOT MATCHED THEN INSERT VALUES (T.ID, T.OWNER, T.OBJECT_NAME);

       另外,MERGE语句的UPDATE不能修改用于连接的列,否则会报错
只有注册用户登录后才能发表评论。