2016-07-27 13 views
0

Ich bin ziemlich neu in der PLSQL-Programmierung, so dass ich immer noch mit allgemeinen Problemen wie diesem konfrontiert bin.Bestehende Funktion zum Paket hinzufügen PLSQL

Ich habe einige eigenständige Funktionen (Oracle PLSQL-Funktionen) entwickelt und möchte sie unter dem gleichen Paket gruppieren.

Also habe ich ein neues Paket, aber ich habe einige Fragen über das, was als nächstes zu tun:

  1. Gibt es eine Möglichkeit, direkt auf mein Paket Funktionen zu verknüpfen? Ich glaube nicht, aber vielleicht ...
  2. Darf ich Funktionen innerhalb des Pakets auf die gleiche Weise wie die externen Funktionen benennen oder verursache ich ein Problem mit dem Oszilloskop?

Vielen Dank für Ihre Hilfe. Marcello

Antwort

3

Sie können keine Standalone-Funktion mit einem Paket verknüpfen, Sie müssen lediglich den Code der Funktion in den Paketkörper und die Funktionsspezifikation in die Paketspezifikation kopieren. wenn

Zum Beispiel haben Sie:

create or replace function my_function 
    return number 
is 
begin 
    return 42; 
end; 

... dann könnte man es in das Paket wie folgt kopieren:

create or replace package my_package is 
    function my_function 
     return number; 
end; 

und

create or replace package body my_package is 
    function my_function 
     return number 
    is 
    begin 
     return 42; 
    end; 
end; 

Sie können sie geben der gleiche Name wie die Standalone-Funktionen ohne Probleme. Wenn Sie eine dieser Funktionen innerhalb des Pakets unqualifiziert aufrufen (nur my_function), dann rufen Sie die Paketversion an; Wenn Sie die Standalone-Funktion wirklich aus dem Paket aufrufen möchten, müssen Sie das Schema-Präfix hinzufügen: my_schmea.my_function. Aber hoffentlich würdest du das nicht wirklich wollen!