I have an oracle query to delete rows in a child table, but the query doesn’t work because of too many values in the in clause. Is there a different way I can write this by using join or something to make it work?
delete from PROCESS
where PACKAGE_ID in (select id from PACKAGE where NAME like 'Test%');
Had used * instead of id in the inner select there, so when I switched to id it worked. But I’m still curious if this can be written in a different way, as there is a limit of 1000(?) items in an in clause.
The limit of 1000 items in an
INclause only applies when you “manually” specify them. It doesn’t apply when the items are returned by a sub-query.I think the way you have it now is the way to go.