- Трябва да имате интервал между името на таблицата и последващия
WHEREклауза INTOтрябва да бъде част отEXECUTE IMMEDIATE, а не част от динамичния SQL израз.- Динамичният SQL оператор не трябва да има точка и запетая в края
EXECUTE IMMEDIATEизразът трябва да завършва с точка и запетая
Събирайки ги заедно, нещо подобно би трябвало да работи
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;
Разбира се, тъй като не правите нищо с VR_UPDATE , нищо няма да се покаже, когато този анонимен блок бъде изпълнен.