- Du måste ha ett mellanslag mellan tabellnamnet och den efterföljande
WHERE
klausul INTO
måste vara en del avEXECUTE IMMEDIATE
, inte en del av den dynamiska SQL-satsen.- Den dynamiska SQL-satsen ska inte ha ett avslutande semikolon
- Koden
EXECUTE IMMEDIATE
uttalandet ska sluta med semikolon
Om man sätter ihop dem borde något sådant här fungera
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;
Naturligtvis, eftersom du inte gör något med VR_UPDATE
, ingenting kommer att visas när detta anonyma block exekveras.