Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Oracle insere na tabela2 e exclui da tabela1, exceção se falhar


este stmt funciona sem a cláusula where

Isso pode ser porque quando você concatena as strings, elas são convertidas implicitamente e sua condição where falha em tempo de execução. Experimente o USING cláusula com variáveis ​​de ligação.
stmt_ins:= 'INSERT  INTO ' || n_tab2 || ' SELECT * FROM ' || n_tab || ' where ' || dt_criado || ' < :dt ' ;

EXECUTE IMMEDIATE stmt_ins USING SYSDATE;