2017-10-06 2 views
2

Ich habe mein Gehirn für einige Zeit, aber ich bin nicht in der Lage, einen Weg zum Abrufen der Operator-Definition in Toad oder SQL-Entwickler zu finden.Wie bekomme ich benutzerdefinierte OPERATORs in Orakel

Wir haben einen benutzerdefinierten Operator in unserer Support-Anwendungsdatenbank und ich kann es in all_objects-Wörterbuch sehen, aber ich kann seine Definition nicht abrufen.

Gibt es eine Möglichkeit, das zu tun?

Ich habe bereits die Orakeldokumentation durchgelesen, aber ich kann anscheinend nichts über Operatoren finden, außer wie man einen erstellt.

Oracle Link 1

Oracle Link 2

Antwort

3

Einfach dbms_metadata Paket verwenden und speziell get_ddl() Funktion DDL für einen Bediener zu extrahieren, wie Sie es verwenden würde DDL für Tabellen, Views zu extrahieren und andere Datenbankobjekte:

Hier ein Beispiel:

create or replace function multf(
    arg1 in number, 
    arg2 in number 
) return number 
is 
begin 
    return arg1 * arg2; 
end; 
/

create or replace operator mult 
    binding (number, number) 
    return number 
    using multf; 
/


select dbms_metadata.get_ddl('OPERATOR', 'MULT') 
    from dual 

Ergebnis der Abfrage:

OP_DDL                   
-------------------------------------------------------- 

    CREATE OR REPLACE OPERATOR "NK"."MULT" BINDING 
    (NUMBER, NUMBER) RETURN NUMBER 
     USING "MULTF"  
+0

Das war genau das, was ich gesucht habe, und es hat geklappt .. danke! :) – AngelicCore

Verwandte Themen