以下示例不起作用,我只是想展示我正在尝试做的事情。
给定表:
-- this table is located at the CDB
create table t1 (tab_name varchar2(35))
/
-- this proc is located at the CDB
Create or replace procedure FindTables(vPdb in varchar2, vOwner in varchar2)
BEGIN
insert into t1(tab_name) select TABLE_NAME from ALL_TABLES@vPdb where OWNER=vOwner;
END;
/
有没有办法创建一个临时数据库链接或类似的东西?或任何其他方式?
编辑
我还需要用户表的解决方案。
对不起,但这是错误的。不能提供 dblink 作为这样的参数。为此,根本不需要 dblink。
CDB_TABLES
您可以使用该视图访问有关所有 PDB 中所有表的信息。CDB_* 观看次数
您可以轻松地将 PDB 名称和表所有者作为参数提供给上述查询。