我的数据库中有一种元数据表,我想要剔除旧记录。 我创建了一个“select”语句,用于选择要删除的行:
select m.tablename, m.OWNERNAME
from MAPINFO.MAPINFO_MAPCATALOG m
left outer join sys.ALL_TABLES t
on TRIM(m.tablename) = t.TABLE_NAME and TRIM(m.OWNERNAME) = t.owner
where t.num_rows is null
这给了我113行。
但是,我无法弄清楚如何将其转换为“删除”。我打算使用:
delete from MAPINFO.MAPINFO_MAPCATALOG where tablename in (...)
但这会删除115行。有两个问题:
鉴于上述情况,我该如何进行此删除?
答案 0 :(得分:1)
你可以这样做:
delete from MAPINFO.MAPINFO_MAPCATALOG where (tablename, ownername) in (...)