Update von Text-Blob

Themen rund um den praktischen Einsatz von Firebird. Fragen zu SQL, Performance, Datenbankstrukturen, etc.

Moderator: thorben.braun

Antworten
zappa2
Beiträge: 31
Registriert: Fr 5. Okt 2018, 10:59

Ich möchte an ein als BLOB TEXT definiertes Feld eine Zeile anfügen. Die Proc wird fehlerfrei kompiliert.

Code: Alles auswählen

create or alter procedure ADD_PROTOCOL (
    I varchar(255))
returns (
    O integer)
as
declare variable S blob sub_type 1 segment size 80;
begin
  select p from protocol where id=1 into :s;
  s=:s||:i;
  update protocol set p = :s where (ID = 1);
  o=0;
  suspend;
end
Aber beim Debuggen kommt in der 2. Zeile immer folgende Meldung:

Code: Alles auswählen

Error Message:
----------------------------------------
SQL Parse Error:

EOF in string detected
Was mache ich falsch?

Oder gibt es spezielle 'Append'-Konstrukte für Blobs in Firebird?
bfuerchau
Beiträge: 485
Registriert: Mo 7. Mai 2018, 18:09
Kontaktdaten:

Versuche mal:
:s=:s||:i;

Wobei auch folgendes geht:
update protocol set p = p || :i where (ID = 1);
zappa2
Beiträge: 31
Registriert: Fr 5. Okt 2018, 10:59

:D
Ich danke Dir!
:s=:s||... funktioniert.
Warum s=:s||... nicht funktioniert verstehe ich zwar nicht -bei allen anderen Typen hat das bisher immer funktioniert-, aber was soll's.
Nochmal: Danke!
Antworten