Wenn du eine Funktion/Prozedur mit "external ..." erstellst, wird KEIN Objekt erstellt sondern lediglich das SQL-Repositiory (SQLFunc/SQLProcs...) gefüllt.

Wie oben beschrieben, schreibt SQL dann in das externe Programm (nicht sichtbar!) die Registrierungsinfos um im Restorefall das Repository zu füllen.

Erstellst du aber das Programm NEU, gehen diese Infos verloren.
In diesem Fall musst du halt "drop / create" wiederholen.