Da Sie das Schlüsselwort replace
verwenden, müssen Sie nicht prüfen, ob das Synonym zuerst existiert. Sie überschreiben das Synonym, das mit dem vorherigen Namen existiert.
Der einzige Grund, vorsichtig zu sein mit replace
, ist, wenn Sie ein anderes Synonym mit demselben Namen haben. Wenn Ihre Datenbank gut organisiert ist, sollte dies nicht passieren. Sie sollten immer wissen, was all Ihre Objekte sind und wo die Synonyme zeigen.
Wenn Sie jedoch möchten, gibt es ein paar Optionen:
replace
. Die Anweisung wird einen Fehler ausgeben, wenn das Synonym bereits existiert und nicht überschrieben wird. Fragen Sie das Datenwörterbuch ab, da Sie sich in mehreren Schemas befinden all_synonyms
scheint die beste Wette zu sein.
Wenn Sie diese zu einem einzelnen Block kombinieren möchten, können Sie Folgendes tun:
%Vor% Bitte geben Sie bei einem etwas getrennten nicht Ihre Objektnamen an. Oracle kann Objekte verkapselt haben, aber es ist sehr, sehr selten den Aufwand wert. Alle Objekte werden automatisch im oberen Gehäusebereich angezeigt, so dass Sie das "
nicht benötigen.
Ich denke, wenn Sie das OR REPLACE-Schlüsselwort entfernt haben, werden Sie darauf hingewiesen, dass es existiert
Oder Sie können pl / sql-Code mit diesen Tabellen erstellen
%Vor%Um es flexibler und benutzerdefinierter zu machen
Annahme von Oracle PL / SQL
%Vor%Hier die Anpassung für Ihr Problem
%Vor%