oracle 10g merge命令增强

[复制链接]
查看11 | 回复5 | 2015-7-28 14:26:07 | 显示全部楼层 |阅读模式
DELETE Clause
An optional DELETE WHERE clause can be used to clean up after a merge operation. Only those rows which match both the ON clause and the DELETE WHERE clause are deleted.
MERGE INTO test1 a
USING all_objects b
ON (a.object_id = b.object_id)
WHEN MATCHED THEN
UPDATE SET a.status = b.status
WHEREb.status != 'VALID'
DELETE WHERE (b.status = 'VALID');
这句delete部分怎么理解?试了几次 delete 部分没测试成功
[ 本帖最后由 paulyibinyi 于 2008-8-12 17:06 编辑 ]
回复

使用道具 举报

千问 | 2015-7-28 14:26:07 | 显示全部楼层
DELETE WHERE (b.status = 'VALID')
改成这个下面的试试
DELETE WHERE (b.status != 'VALID');
回复

使用道具 举报

千问 | 2015-7-28 14:26:07 | 显示全部楼层
原帖由 jack198409 于 2008-8-12 16:43 发表
DELETE WHERE (b.status = 'VALID')
改成这个下面的试试
DELETE WHERE (b.status != 'VALID');

谢谢 原来是出处有问题
一改就可以了



回复

使用道具 举报

千问 | 2015-7-28 14:26:07 | 显示全部楼层
测试链接
http://space.itpub.net/?uid-7199 ... space-itemid-425550
回复

使用道具 举报

千问 | 2015-7-28 14:26:07 | 显示全部楼层
DELETE 删除的是你UPDATE中的记录
回复

使用道具 举报

千问 | 2015-7-28 14:26:07 | 显示全部楼层
原帖由 jack198409 于 2008-8-12 16:54 发表
DELETE 删除的是你UPDATE中的记录

是的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行