View Full Version : CREATE OR REPLACE PROCEDURE klappt nicht
Hi *all,
falls eine PROCEDURE bereits existiert klappt der REPLACE nicht. Die Kiste erstellt eine weitere PROCEDURE mit einem Namen aus den Anfangsbuchstaben der PROCEDURE und einem Zähler. Via Navigator kann ich das dann sehen. OS = 7.2 Was mache ich falsch?
Danke und Gruß
KingofKning
26-02-19, 10:38
was sagt dann wrkobjlck
GG 4112
kein Lock vorhanden, konnte mit DROP PROCEDURE löschen und dann wieder erstellen. Irgendwie scheint der REPLACE noch nicht so sauber zu funktionieren. Verzichte dann lieber auf REPLACE, werde zuerst löschen, dann erstellen. Das ist sicherer, schade, weil mehr Arbeit. DANKE
Den Drop kann man dem Create voranstellen und die SQL-Anweisungen mit ";" trennen.
Das geht dann als Script.
beim ersten Lauf wird dann der DROP doch abschmieren, weil die PROCEDURE noch nicht existiert, oder?
andreaspr@aon.at
26-02-19, 13:13
Ich schätze, dass der Specific-Name der Prozedur abweicht? Oder irgendwelche Leicher vorhanden waren und deshalb die Prozedur nicht einfach gelöscht hat.
Wenn du eine komplett neue Prozedur so erstellst und den CREATE OR REPLACE paar mal laufen lässt, sollte er immer die Prozedur korrekt ersetzen.
Wobei ich selbst, wegen genau diesen Problemen, lieber mit einem DROP & CREATE arbeite.
Und was das abschmieren beim DROP angeht, so kann man hier einfach den ERRLVL auf 21 setzen, dann werden diese ignoriert.
Ich verwende hierzu einfach RUNSQLSTM ... ERRLVL(40).
Bei Aufrufen aus dem OpsNav kann man das auch irgendwo einstellen.
OK, vielen Dank an die Beteiligten