Я пытаюсь получить доступ к значению столбца дважды в a для l oop. Я действительно пытался выяснить это самостоятельно, прежде чем спрашивать, но Oracle и / или PL / SQL не моя сильная сторона. При первом обращении к значению в строке оно там. Во второй раз это просто пустая скобка ''. Любая помощь будет оценена.
BEGIN
FOR t IN (SELECT object_name, object_type FROM all_objects WHERE owner='USER' AND object_type IN ('TABLE','VIEW','PROCEDURE','FUNCTION','PACKAGE','PACKAGE BODY','LOB','SEQUENCE','SYNONYM','TYPE')) LOOP
IF t.object_type IN ('SYNONYM') THEN
--the second time t.object_name is called in line below it is empty.
EXECUTE IMMEDIATE 'CREATE OR REPLACE SYNONYM NEW_USER.'||t.object_name||' FOR USER.'||t.object_name||'';
END IF;
END LOOP;
END;
/