我有 2 个数据库
- DB1 与用户 a 的 IP 地址为 192.168.10.5
- DB2 与用户 b 的 IP 地址为 192.168.10.6
在 DB2 中,我有一个名为tb_r_system
tb_r_system
我在 DB1 中创建数据库链接以在 DB2中获取表
CREATE DATABASE LINK test_db_link
CONNECT TO user00 IDENTIFIED BY user00
USING 'RED_SERVICE';
tb_r_system
然后我更改在,中添加新列TEST_COLUMN
。之后,当我尝试从 DB1 中选择
select * from tb_r_system@test_db_link;
它显示新列的结果,TEST COLUMN
但是当我尝试在包中获取这个新列时,它显示错误
ORA00904 L Invalid identifier
我在 DB1 中的包
CREATE OR REPLACE PACKAGE pkg_acatestw IS
FUNCTION test_db_link(test IN VARCHAR2)
RETURN PLS_INTEGER;
END pkg_acatestw;/
CREATE OR REPLACE PACKAGE BODY pkg_acatestw IS
FUNCTION test_db_link(test IN VARCHAR2) RETURN PLS_INTEGER IS
tar INTEGER;
BEGIN
SELECT COUNT(test_column) -------------> this line cause error invalid identifier
INTO tar
FROM tb_r_system@test_db_link dual;
RETURN 1;
EXCEPTION
WHEN OTHERS THEN
RETURN 1;
END test_db_link;
END pkg_acatestw;
我会很感激任何帮助