sql >> Base de Datos >  >> RDS >> Oracle

Insertar Oracle en la tabla 2 y luego eliminar de la tabla 1, excepción si falla

esta sentencia funciona sin la cláusula where

Eso podría deberse a que cuando concatenas las cadenas, se convierten implícitamente y tu condición donde falla en el tiempo de ejecución. Prueba el USING cláusula con variables de vinculación.

stmt_ins:= 'INSERT  INTO ' || n_tab2 || ' SELECT * FROM ' || n_tab || ' where ' || dt_criado || ' < :dt ' ;

EXECUTE IMMEDIATE stmt_ins USING SYSDATE;