[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    33

    Wie löscht man via CL eine SQL-Procedure

    Hi *all,

    im Navigator ist das kein Problem, aber wie klappt das mit CL?
    Gibt es dafür einen cmd? Wie finde ich SQL-Procedures mit 'ner 5250-Emu?

    Danke und Gruß

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    18.063
    Per CLP gibt es mittlerweise das Kommando RUNSQL.
    In der Tabelle SYSPROCS bzw. SYSFUNCS findest du alles.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    4.814
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Per CLP gibt es mittlerweise das Kommando RUNSQL.
    In der Tabelle SYSPROCS bzw. SYSFUNCS findest du alles.
    ... das ist ein wenig missverständlich. Gelöscht werden SQL Procedures mit der SQL Anweisung DROP PROCEDURE, die dann den SQL Repository Eintrag löscht und bei SQL Procedures auch das generierte C Programm löscht. Bei externen Procedures bleibt das Programm wie es ist.

    Den DROP PROCEDURE kann man auch per CL mittels RUNSQL ausführen - aber mit allen Konsequenzen dieser verkrüppelten Programmiersprache: rudimentäres Error Handling, schlechte Lesbarkeit, miserable Wartbarkeit. Wenn man etwas besseres zur Auswahl hat, dann sollte man das nehmen.

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  4. #4
    Registriert seit
    Jan 2001
    Beiträge
    33
    Dankeschön.
    Das heißt ich muss erst in der SYSPROCS schauen, ob die Procedure überhaupt existiert, damit der DROP dann nicht abschmiert, falls er nichts findet? Oder kann man auch mit MONMSG den evtl. nicht erfolgreichen DROP ignorieren?

  5. #5
    Registriert seit
    Aug 2003
    Beiträge
    1.425
    Ich würde auch sagen, dass hier ein MONMSG absolut reicht.
    Wenn du die DROP Befehle in ein SRC-File liegen hast, kannst du dies im CL mit RUNSQLSTM ausführen lassen.
    Bei RUNSQLSTM hast du den Vorteil dass du hier den Parameter ERRLVL mitgeben kannst.
    Ich glaube bei ERRLVL 21 wirft er keine Exception wenn die Prozedur nicht existiert.
    Da bei nicht gefundenen DROP ein 20er Fehler kommt.
    Außerdem ist es hübscher von der Wartbarkeit, solche Befehle nicht hardcoded im PGM zu haben :-)

    lg Andreas

  6. #6
    Registriert seit
    Feb 2001
    Beiträge
    18.063
    RUNSQLSTM steht aber u.U. nicht zur Verfügung, wenn man z.B. auch kein STRSQL hat.
    Alternativ geht auch REXX, das ist auch immer da und kann ebenso SQL.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

Ähnliche Themen

  1. Procedure in free
    Von malzusrex im Forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 24-08-16, 12:35
  2. Eine Marke, eine Halle, eine Messe: IT & Business - Ende September in Stuttgart
    Von Isabella Pridat-Zapp im Forum Archiv NEWSboard Events
    Antworten: 0
    Letzter Beitrag: 10-09-15, 12:50
  3. Return aus SQL Procedure
    Von dabeda im Forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 05-03-15, 12:53
  4. Problem SQL Procedure
    Von CaddyMajor im Forum NEWSboard Programmierung
    Antworten: 14
    Letzter Beitrag: 25-06-14, 08:22
  5. Stored Procedure
    Von lorenzen im Forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 27-08-02, 14:59

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •