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

    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
    20.206
    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: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Mar 2002
    Beiträge
    5.286
    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
    36
    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.508
    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
    20.206
    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: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •