我们在包级别声明的变量,可以在包中使用,这些变量在包执行时存储在哪里。
他们有我们可以检查的表格吗?
检查了一些网站,包括 oracle 文档,但找不到我的问题的准确答案。请指教。
我们在包级别声明的变量,可以在包中使用,这些变量在包执行时存储在哪里。
他们有我们可以检查的表格吗?
检查了一些网站,包括 oracle 文档,但找不到我的问题的准确答案。请指教。
是的,您可以从*_IDENTIFIERS
数据字典视图中获取它。
首先设置 PL/SQL 编译器在编译时分析程序的标识符。见PL/范围
ALTER SESSION SET
plscope_settings='IDENTIFIERS:ALL'
/
启用 PL/Scope 并编译您的程序单元时,ALL_IDENTIFIERS
视图将填充有关在该单元中找到的所有标识符的信息。
如果我想查看程序单元中所有声明的变量,可以执行以下查询:
SELECT ai.object_name
, ai.object_type
, ai.name variable_name
, ai.name context_name
FROM all_identifiers ai
WHERE ai.owner = USER AND
ai.TYPE = 'VARIABLE' AND
ai.usage = 'DECLARATION'
ORDER BY ai.object_name,
ai.object_type, ai.usage_id