- Você precisa ter um espaço entre o nome da tabela e o subsequente
WHERE
cláusula - O
INTO
precisa 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 IMMEDIATE
declaraçã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.