Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#38

Re: Was mache ich falsch? Firebird rattert wie irre auf der

  Alt 11. Jun 2007, 15:44
Hallo,

der Parameter Word wird überschrieben.
Ist nie ne gute Idee, einen Parameter als Variable zu missbrauchen

mal so hingetippert.

SQL-Code:
CREATE PROCEDURE SP_SPAM_IU (
    word varchar(30))
returns (
    anzahl integer)
as
  declare variable LocalWord varchar(30);
BEGIN
  SELECT WORD, ANZAHL FROM SPAM WHERE (WORD = :WORD) INTO :LocalWord, :ANZAHL;
  IF (LocalWord is not NULL) THEN
  BEGIN
    UPDATE SPAM SET ANZAHL = :ANZAHL +1
    WHERE (WORD = :WORD);

    Anzahl = Anzahl +1;
  END ELSE
  BEGIN
    INSERT INTO SPAM (
        WORD,
        ANZAHL)
    VALUES (
        :LocalWord,
        1);
    ANZAHL = 1;
  END

  SUSPEND;
END

Heiko
Heiko
  Mit Zitat antworten Zitat