[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jul 2002
    Beiträge
    331
    Ich definiere und öffne den Cursor erst nach der Delete Anweisung, das ist es ja was mich so fuchsig macht .

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    declare cursor wirkt nur zur Compile Zeit, entscheidend ist der open. Wenn der nach dem delete erfolgt und alles wirklich so abläuft wie berichtet (SQL Codes prüfen, wg. der Pferde und der Apotheke), dann ist die Datenbank krank und braucht ein PTF.

    D*B

    Zitat Zitat von DEVJO Beitrag anzeigen
    Ich definiere und öffne den Cursor erst nach der Delete Anweisung, das ist es ja was mich so fuchsig macht .
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  3. #3
    Registriert seit
    Jul 2002
    Beiträge
    331
    Komischerweise ist der SqlCod = 100 (ist das nicht EOF?) was allerdings gar nicht sein kann, da ich weiß (100%) das da noch wenigstens 1 Datensatz vorhanden ist !
    Der "Open c1" kommt nach dem "Declare c1" und der wiederum kommt nach dem Delete (in einer SubRoutine).

  4. #4
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    das ist so komisch nicht, der Cursor hat noch den Stand von vor dem Delete, und der Satz ist ja nun wirklich fort...
    überprüfe nochmal den Status des Cursors (war der vielleicht noch offen, wurde also vorher geöffnet). Dann leigt ein Fehler in der Datenbank vor.
    Als Work around zieht sehr wahrscheinlich den Cursor sensitiv zu machen oder das fetch first row only rauszumachen.

    D*B

    Zitat Zitat von DEVJO Beitrag anzeigen
    Komischerweise ist der SqlCod = 100 (ist das nicht EOF?) was allerdings gar nicht sein kann, da ich weiß (100%) das da noch wenigstens 1 Datensatz vorhanden ist !
    Der "Open c1" kommt nach dem "Declare c1" und der wiederum kommt nach dem Delete (in einer SubRoutine).
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    Jul 2002
    Beiträge
    331
    Aber wieso hat der Cursor den Stand von vor dem Delete? Wenn ich ihn doch erst danach definiere !

  6. #6
    Registriert seit
    Jul 2002
    Beiträge
    331
    Das kann ich nicht machen, weil dann bringt mir die Anweisung ja nichts mehr, brauche halt das niedrigste und höchste Datum. Ich habe jetzt in diesem besonderen Fall einfach noch einen Chain gemacht...... damit klapt es. Ist nicht schön, aber selten

  7. #7
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    der for first row only bei der Deklaration ist lediglich eine Angabe für den Optimizer, Cursor ohne Fetch first und einmal fetch ändert nix an der Logik!

    D*B

    BTW: den Mix von SQL und RLA, den würde ich eh' bleiben lassen.

    Zitat Zitat von DEVJO Beitrag anzeigen
    Das kann ich nicht machen, weil dann bringt mir die Anweisung ja nichts mehr, brauche halt das niedrigste und höchste Datum. Ich habe jetzt in diesem besonderen Fall einfach noch einen Chain gemacht...... damit klapt es. Ist nicht schön, aber selten
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Wo du in der Quelle deine Declare's abgibst ist für die Laufzeit nicht relevant (ausser in einer Prozedur).

    Einfacher ist im Übrigen:

    c+ select max(BisDatum) from Zeitraum where Gebiet = :Zeitraum_Gebiet and
    c+ Ort = :Zeitraum_Ort and
    c+ Hotel = :Zeitraum_Hotel and
    c+ SaisKZ = :Zeitraum_SaisKZ

    Dafür benötigst du noch nicht mal einen Cursor:


    c+ select max(BisDatum) into :MyDate
    c+ from Zeitraum where Gebiet = :Zeitraum_Gebiet and
    c+ Ort = :Zeitraum_Ort and
    c+ Hotel = :Zeitraum_Hotel and
    c+ SaisKZ = :Zeitraum_SaisKZ
    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

  9. #9
    Registriert seit
    Jul 2002
    Beiträge
    331
    Super klappt hervorragend
    Danke

Similar Threads

  1. Brauche Hilfe zu FETCH xxx USING DESCRIPTOR
    By AndreasH in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 08-05-15, 13:09
  2. FETCH n ROws in einzelne Felder einer DS
    By pedro-zapata in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 11-09-06, 12:34
  3. Group und fetch first xx rows
    By linguin in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 04-08-06, 10:38
  4. FETCH INTO Variablen Dynamisch verändern
    By marcel331 in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 11-04-06, 15:47
  5. embedded-SQL fetch über mehrere Dateien
    By zannaleer in forum NEWSboard Programmierung
    Antworten: 12
    Letzter Beitrag: 30-01-05, 16:51

Berechtigungen

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