› Fóruns › SQL e PL/SQL › Passar nome de tabela como parametro › Passar nome de tabela como parametro
Pessoal,
Estou montando esse select dinamico para remover registros de várias tabelas, seguindo uma determina regra, em alguns casos serão removidos milhões de registros.
Para não estourar o segmento de undo eu tinha adotado a solução do DBMS_SQL, onde eu pegava o rowid e deleteva um a um, com commit a cada 500, mas estava demorando um pouco, então eu alterei para usar o “execute immediate”, fazendo um loop com delete “where rownum < 20000" e commit a cada delete, e sai do loop quando não deletar nada. A principio funciona bem, mas depois de algum tempo esta estourando a quantidade de cursores abertos (ORA-01000: maximum open cursors exceeded), já aumentei a qquantidade de cursores p/ 500, oq considero um valor alto, mas continua estourando, acho que se ficar aumentando não é a solução, alguém sabe como faço para 'fechar' estes cursores?
Obrigado,
Everson