- Du skal have et mellemrum mellem tabelnavnet og den efterfølgende
WHERE
klausul INTO skal være en del af EXECUTE IMMEDIATE
, ikke en del af den dynamiske SQL-sætning.- Den dynamiske SQL-sætning bør ikke have et afsluttende semikolon
- Koden
UDFØR STRAKS
sætning skal slutte med semikolon
Når man sætter dem sammen, burde sådan noget fungere
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;
Selvfølgelig, da du ikke gør noget med VR_UPDATE
, vil intet blive vist, når denne anonyme blokering udføres.