Unterschiede zwischen lokalen und globalen Prozeduren identifizieren
Wenn Sie eine Prozedur in Ihrem Objekt erstellen, ist die Prozedur standardmäßig global. Dies bedeutet, dass andere Objekte auf diese Prozedur zugreifen können. Wenn andere Erweiterungen von Ihrer Erweiterung abhängen, greifen sie auf öffentliche Prozeduren zu.
procedure MyFunction()
begin
// Logic goes here
end;
Alternativ können Sie Ihre Prozedur lokal, intern oder geschützt gestalten. Wenn eine Prozedur lokal ist, können Sie nur innerhalb desselben Objekts darauf zugreifen. Sie müssen das Schlüsselwort local angeben, um eine lokale Prozedur zu erstellen.
local procedure MyFunction()
begin
// Logic goes here
end;
Wenn eine Prozedur intern ist, können Sie nur innerhalb derselben Erweiterung darauf zugreifen. Daher können andere Objekte in derselben Erweiterung auf diese Prozedur zugreifen. Sie müssen das Schlüsselwort internal angeben, um eine interne Prozedur zu erstellen.
internal procedure MyFunction()
begin
// Logic goes here
end;
Wenn eine Prozedur geschützt ist, können Sie nur innerhalb des definierenden Objekts und des Hostobjekts darauf zugreifen. Wenn Sie also eine Prozedur innerhalb einer Tabelle erstellen, können Tabellenerweiterungen Ihrer Tabelle auf diese Prozedur zugreifen. Sie müssen das Schlüsselwort protected angeben, um eine geschützte Prozedur zu erstellen.
protected procedure MyFunction()
begin
// Logic goes here
end;