- Debe dejar un espacio entre el nombre de la tabla y el subsiguiente
WHEREcláusula - El
INTOdebe ser parte deEXECUTE IMMEDIATE, no forma parte de la instrucción SQL dinámica. - La instrucción de SQL dinámico no debe tener un punto y coma al final
- El
EXECUTE IMMEDIATEdeclaración debe terminar con un punto y coma
Poniéndolos juntos, algo como esto debería funcionar
declare
VR_TABLE VARCHAR2(256);
VR_UPDATE VARCHAR2(256);
begin
VR_TABLE :='SYSTEM_STATUS';
EXECUTE IMMEDIATE 'select UPDATE_VERSION from ' || VR_TABLE || ' where rownum < 2'
INTO VR_UPDATE;
end;
Por supuesto, ya que no estás haciendo nada con VR_UPDATE , no se mostrará nada cuando se ejecute este bloque anónimo.