- Mezi názvem tabulky a následujícím
WHERE
musíte mít mezeru doložka INTO
musí být součástíEXECUTE IMMEDIATE
, není součástí dynamického příkazu SQL.- Dynamický příkaz SQL by neměl mít středník na konci
EXECUTE IMMEDIATE
příkaz by měl končit středníkem
Když je dáme dohromady, něco takového by mělo fungovat
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;
Samozřejmě, protože s VR_UPDATE
nic neděláte , po provedení tohoto anonymního bloku se nic nezobrazí.