- Você precisa ter um espaço entre o nome da tabela e o subsequente
WHEREcláusula - O
INTOprecisa fazer parte doEXECUTE IMMEDIATE, não faz parte da instrução SQL dinâmica. - A instrução SQL dinâmica não deve ter um ponto e vírgula à direita
- O
EXECUTE IMMEDIATEdeclaração deve terminar com um ponto e vírgula
Juntando-os, algo assim deve 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;
Claro, já que você não está fazendo nada com
VR_UPDATE , nada será exibido quando este bloco anônimo for executado.