2016-12-08 2 views
-1

Ich habe ein SQL-Paket, das viele gespeicherte Prozeduren enthält.Was passiert, wenn wir ein Oracle-Paket mit einem anderen Namen kompilieren?

Die Frage ist, wenn ich dieses Paket mit anderem Namen kompiliere was wird passieren? Die anderen Prozeduren, die in dem neuen Paket enthalten sind, überschreiben die ursprüngliche Prozedur? Ich habe viel gesucht, aber nicht das passende ans bekommen.

Jeder Vorschlag wird sehr hilfreich sein.

+4

Wenn Sie ein Paket mit einem diffirent Namen kompilieren, dann werden Sie zwei Pakete. Warum willst du das Paket mit einem anderen Namen füllen? Wenn der Vorname nicht gut gewählt ist und der zweite gut gewählt ist, können Sie das erste Paket ablegen. – wieseman

+1

Pakete Unterstützung Kapselung - alle Verfahren in Paket gehört zum Paket ... verschiedene Pakete können Prozeduren mit den gleichen Namen haben - aber das wird andere Verfahren sein ... – are

+0

nein. Das erste Paket wird in der Anwendung verwendet. und ich habe einige Änderungen am Paket vorgenommen. Zu Testzwecken muss ich das Paket mit einem anderen Namen kompilieren. – Pirate

Antwort

0

Hier müssen Sie einen Punkt verstehen.

Paket ist im Grunde eine Sammlung von Prozeduren, Funktionen usw. Die Prozeduren, die in einem Paket definiert sind, können nicht unabhängig aufgerufen werden, ohne den Namen des Qualifier-Pakets anzugeben. Diese Prozeduren werden immer als package.procedure verwendet.

können wir Ihr Paket betrachten. Sie können die Prozedur wie My_Pck.one aufrufen.

create or replace package body My_Pck is 
/** Package started **/ 

/** Procedure 1 **/ 
procedure one() as 
begin 
end; 

/** Procedure 2 **/ 
procedure one() as 
begin 
end; 
My_Pck end; 

wenn Sie wie unten Paket mit anderen Namen zu kompilieren, dann müssen Sie Verfahren wie my_pck2.one nennen.

create or replace package body My_Pck2 is 
/** Package started **/ 

/** Procedure 1 **/ 
procedure one() as 
begin 
end; 

/** Procedure 2 **/ 
procedure one() as 
begin 
end; 
My_Pck end; 

Dank

Verwandte Themen