如果我有以下形式的 PL-SQL 代码:
DECLARE
v_glob VARCHAR2(4000) := q'<
DECLARE xyz VARCHAR2(7); BEGIN DBMS_OUTPUT.PUT_LINE('test45654645'); END;
>';
BEGIN
DBMS_OUTPUT.PUT_LINE(v_glob);
EXECUTE IMMEDIATE (v_glob);
-- What was the value of xyz here?
END;
有没有办法欺骗范围并保留这些值?出于我的目的,如果可以以常规方式完成,则允许将额外代码添加到 v_glob 中。
Oracle 文档确实让人觉得这似乎是不可能的,而且据我所知,它不应该是这样。有没有我没有看到的聪明的解决方法?