Announcement

Collapse
No announcement yet.

Aufrufen einer Prozedur

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Aufrufen einer Prozedur

    Hi,<BR><BR>

    ich habe eine Prozedur erstellt:<BR><BR>
    <PRE>
    CREATE PROCEDURE Speicherplatz_anlegen(
    Schlucht INTEGER,
    LiRe CHAR(1),
    Etage INTEGER,
    Hausnr INTEGER)

    BEGIN ATOMIC
    DECLARE Schlucht_nicht_vorhanden EXCEPTION FOR SQLSTATE VALUE '99900';
    DECLARE Etage_nicht_vorhanden EXCEPTION FOR SQLSTATE VALUE '99901';
    DECLARE Hausnr_nicht_vorhanden EXCEPTION FOR SQLSTATE VALUE '99902';
    DECLARE LiRe_falsch EXCEPTION FOR SQLSTATE VALUE '99903';

    IF (Schlucht <= 0) OR (Schlucht >= 6) THEN
    SIGNAL Schlucht_nicht_vorhanden
    END IF;
    IF (Etage <= 0) OR (Etage >= 11) THEN
    SIGNAL Etage_nicht_vorhanden
    END IF;
    IF (Hausnr <= 0) OR (Hausnr >= 6) THEN
    SIGNAL Hausnr_nicht_vorhanden
    END IF;
    IF (LiRe != 'L') OR (LiRe != 'R') THEN
    SIGNAL LiRe_falsch
    END IF;

    INSERT INTO Speicherplatz (Schlucht, LiRe, Etage, Hausnr)
    Values (Schlucht, LiRe, Etage, Hausnr);

    END;
    </PRE>

    und diese Prozedur möchte ich nun aufrufen. Ich habe es so versucht, aber er meldet es gäbe einen Fehler. Aber welcher?<BR>
    <PRE>
    CALL Speicherplatz_anlegen (5,'L', 5, 5);
    </PRE>

  • #2
    Hallo Karen!

    Welchen Fehler meldet er denn? Hast Du vielleicht nicht die nötigen Berechtigungen? Von wo aus willst Du die Procedur starten? Versuche es vielleicht alternativ mal in einem SQL-Block:

    Begin
    Speicherplatz_anlegen (5,'L',5,5);
    END;
    /

    Gruss
    Nadin

    Comment


    • #3
      Hallo,
      <BR><BR>
      die Berechtigung habe ich, denke ich doch mal. DBA hat ja alle Rechte bei der Sybase SQL Datenbank. Ich wollte die Prozedur erst mal direkt in der Datenbank, in dem SQL Anywhere Studio aufrufen. Bei dem Versuch es so aufzurufen, wie ich es vorhatte, bringt er die Meldung, dass es eine benutzerdefinierte Ausnahmebedingung gibt in Zeile 1 Spalte 38. Aber was ist daran falsch?
      <BR><BR>
      Später soll es aus einem Programm aufgerufen werden, aber ich wollte vorher testen, ob diese Prozedur das macht was sie soll und das Programm noch nicht besteht.
      <BR><BR>
      Gruss <BR>
      Karen<BR><BR&gt

      Comment

      Working...
      X