sql >> Databáze >  >> RDS >> Oracle

Odkazování na uživatelem definované typy Oracle přes DBLINK?

Četl jsem dokumentaci Oracle a není to příliš obtížné.

K definicím typů v obou databázích musíte přidat OID.

Jako OID můžete použít GUID.

SELECT SYS_OP_GUID() FROM DUAL; 

SYS_OP_GUID()
--------------------------------
AE34B912631948F0B274D778A29F6C8C

Nyní vytvořte UDT v obou databázích pomocí STEJNÉ OID.

create type testlinktype oid 'AE34B912631948F0B274D778A29F6C8C' as object
( v1 varchar2(10) , v2 varchar2(20) );
/

Nyní vytvořte tabulku:

create table testlink 
( name testlinktype);

insert into testlink values (testlinktype ('RC','AB'));

commit;

Nyní můžete vybírat z tabulky přes dblink v jiné databázi:

select * from [email protected]_ora10;

NAME(V1, V2)
--------------------------
TESTLINKTYPE('RC', 'AB')

Pokud se při prvním pokusu o výběr přes dblink zobrazí chyba ORA-21700, stačí se znovu připojit.



  1. MySQL - Výběr dat z více tabulek se stejnou strukturou, ale s různými daty

  2. Přečtěte si o tom, jak používat SQL Server Management Studio

  3. Společný tabulkový výraz v MySQL

  4. Přidružování tabulek pomocí databáze místností v Android Studiu