2017-05-15 3 views
0

Ich habe die folgende Prozedur, wenn ich es alle Anzeigen in der Konsole zeigt, wird das Feld ind_id erhöht, aber speichert keinen Datensatz.einfügen in nicht funktionieren in postgresql

create or replace function renameDescripcionTramite() returns varchar as $$ 
declare 
    aguja record; 
    pajar record; 
    last_id integer; 
begin 
    for aguja in 
     select trim(t.tra_descripcion) tra_descripcion from tab_tramite t 
     join tab_serietramite st on st.tra_id = t.tra_id 
     group by t.tra_descripcion 
     order by t.tra_descripcion loop 
      for pajar in 
       select u.uni_id,s.ser_id,st.sts_id,t.tra_id,trim(t.tra_descripcion) tra_descripcion 
       from tab_unidad u join tab_series s on u.uni_id = s.uni_id 
       join tab_serietramite st on st.ser_id = s.ser_id 
       join tab_tramite t on t.tra_id = st.tra_id 
       order by u.uni_id,s.ser_id,t.tra_id loop 
       if aguja.tra_descripcion = pajar.tra_descripcion then 
        insert into tab_indexpediente (uni_id,ser_id,tra_id) values (pajar.uni_id,pajar.ser_id,pajar.tra_id);-- returning ind_id into last_id; 
        --update tab_serietramite set wid = last_id where sts_id = pajar.sts_id; 
        RAISE NOTICE 'insert into tab_indexpediente (uni_id,ser_id,tra_id) values (%',cast(pajar.uni_id as text) 
         || ',' || cast(pajar.ser_id as text) || ',' || cast(pajar.tra_id as text) || ')'; 
       end if; 
      end loop; 
     --RAISE NOTICE ' ANTERIOR ES %',aguja; 
    end loop; 
    return tra_descripcion; 
end; 
$$ LANGUAGE plpgsql; 

Kann mir bitte jemand helfen?

+1

Wollen Sie sagen, dass die 'INSERT'-Anweisung keinen Datensatz einfügt? Erhalten Sie die 'INFO'-Nachricht von' RAISE NOTICE'? Erhalten Sie einen Fehler (wenn ja, dann wird der 'INSERT' wahrscheinlich zurückgesetzt)? Welchen Fehler bekommst du? Außerdem sollte 'RETURN tra_descripcion' einen Fehler verursachen, da keine Variable dieses Namens definiert ist. –

+0

tra_description verursacht keinen Fehler, da es nur eine Ausgabe vom Texttyp ist, die Anzeige zeigt den HINWEIS: HINWEIS: Einfügen in tab_indexpediente (uni_id, ser_id, tra_id) Werte (13,269,17), Es scheint alles läuft perfekt , –

+1

Aber 'tra_descripcion' ist nirgendwo deklariert. –

Antwort

0

Ja, ich wusste nicht, dass dies den Ablauf beeinträchtigen würde.

Danke laurenz Albe

Verwandte Themen