[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    May 2004
    Beiträge
    184

    Stored Procedure SQL Cursor Update

    Hallo Kollegen,
    leider habe ich ein Problem und komme einfach nicht weiter.

    Ich möchte mit Stored Procdure ein Feld in einer Tabelle ändern. Der Änderungsinhalt kommt aus einer anderen Tabellen bei der es keine Eindeutigkeit gibt. Also habe ich folgendes geschrieben.

    DECLARE C1 DYNAMIC SCROLL CURSOR WITH HOLD FOR SELECT ifa_art.darreich_form
    from jenne/artikel,Jenne/ifa_art
    WHERE artikel.zentral_nr = ifa_art.zentral_nr and
    current timestamp between artikel.gueltig_von and gueltig_bis and
    artikel.darreich_form = ' ' and ifa_art.darreich_form <> '---'
    ORDER BY ifa_art.gueltigkeit desc for update of artikel.darreich_form

    Open C1
    repeat
    fetch first from c1
    if sqlcod = 100 then
    end repeat
    else
    Update jenne/artikel set Darreich_form = ifa_art.darreich_form
    where current of c1
    end if
    close c1

    Aber leider bekomme ich eine Mitteilung das Update nicht erlaubt ist.
    Wo liegt mein Fehler ?
    Vielleicht könnt Ihr mir Helfen.
    Danke im Voraus
    Jenne

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.254
    Leider ist ein Join-Cursor (from file1, file2) NICHT änderbar !
    Du musst entweder deine Logik umbauen oder einen gezielten "Update ... set " codieren.
    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
    May 2004
    Beiträge
    184
    Hallo Fuerchau,

    jetzt habe ich meine Logik umgebaut aber nur wird mir mitgeteilt das Schlüsselwort 'OPEN' wird nicht erwartet. Ich glaube ich habe mich völlig verrannt.

    DECLARE C1 DYNAMIC SCROLL CURSOR WITH HOLD FOR SELECT artikel.artikel_nr,
    ifa_art.darreich_form
    from jenne/artikel,Jenne/ifa_art
    WHERE artikel.zentral_nr = ifa_art.zentral_nr and
    current timestamp between artikel.gueltig_von and gueltig_bis and
    artikel.darreich_form = ' ' and ifa_art.darreich_form <> '---'
    ORDER BY ifa_art.gueltigkeit desc

    open C1
    repeat
    fetch first from c1 into :artikelnr,:darform
    if sqlcod = 100 then
    end repeat
    else
    update jenne/artikel set Darreich_form = darform
    where artikel_nr = :artnr
    end if
    close c1

    Gruß
    Jenne

Similar Threads

  1. Berechtigung für Stored Procedure
    By rebe in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 12-10-06, 11:22
  2. SQL Stored Procedure verschwindet
    By florian in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 17-05-06, 16:08
  3. Stored Procedure mit Problemen
    By peter.kinne in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 15-04-05, 09:04
  4. Java Stored Procedure
    By HeisigA in forum NEWSboard Programmierung
    Antworten: 10
    Letzter Beitrag: 21-02-05, 18:58
  5. Löschen/Überschreiben einer Stored Procedure
    By Frank Pusch in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 13-06-01, 17:57

Berechtigungen

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