私は2つのデータベースを持っています
- IP アドレス 192.168.10.5 のユーザー a を持つ DB1
- IP アドレス 192.168.10.6 のユーザー b を持つ DB2
DB2には、という名前の既存のテーブルがありますtb_r_system
DB1でデータベースリンクを作成してtb_r_system
、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;
助けていただければ幸いです