- Devi avere uno spazio tra il nome della tabella e il successivo
WHERE
clausola - Il
INTO
deve far parte diEXECUTE IMMEDIATE
, non fa parte dell'istruzione SQL dinamica. - L'istruzione SQL dinamica non dovrebbe avere un punto e virgola finale
- Il
EXECUTE IMMEDIATE
l'istruzione dovrebbe terminare con un punto e virgola
Mettendoli insieme, qualcosa del genere dovrebbe funzionare
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;
Ovviamente, dal momento che non stai facendo nulla con VR_UPDATE
, non verrà visualizzato nulla quando viene eseguito questo blocco anonimo.