Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Odwoływanie się do typów zdefiniowanych przez użytkownika Oracle przez DBLINK?

Przeczytałem Dokumentację Oracle i nie jest to bardzo trudne.

Musisz dodać OID do definicji typów w obu bazach danych.

Możesz użyć GUID jako OID.

SELECT SYS_OP_GUID() FROM DUAL; 

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

Teraz utwórz swój UDT w obu bazach danych za pomocą SAME OID.

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

Teraz utwórz tabelę:

create table testlink 
( name testlinktype);

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

commit;

Teraz możesz wybrać z tabeli za pomocą dblink w innej bazie danych:

select * from [email protected]_ora10;

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

Jeśli otrzymasz błąd ORA-21700 przy pierwszej próbie wybrania przez dblink, po prostu połącz się ponownie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Generowanie dat między dwiema datami

  2. Oracle:Wybierz z typu danych rekordu

  3. Różnica między wyrocznią DATE a TIMESTAMP

  4. różnica kryteriów wyszukiwania między Like vs Contains() w Oracle

  5. Proces aktualizacji krok po kroku dla aktualizacji R12.2 część -1