Begehen Datensätze eingefügt, indem Sie eine gespeicherte Prozedur in Firebird

Habe ich die folgende Gespeicherte Prozedur

SET TERM ^ ;  
CREATE OR ALTER PROCEDURE EDIT_FATURA (fat_id integer, mflag integer) as 
begin     
  update inv_lines set mflag = :mflag where fat_id = :fat_id;
  delete from inv_lines_temp where 1=1 ;     
  insert into inv_lines_temp select ID,CODE_ID,ADET,UNIT_PRICE,LINE_NET,LINE_VAT,KDV,LINE_GRAND,CRN 
from inv_lines where fat_id = :fat_id; 
end^  
SET TERM ; ^  
GRANT SELECT,UPDATE ON INV_LINES TO PROCEDURE EDIT_FATURA;  
GRANT SELECT,INSERT,DELETE ON INV_LINES_TEMP TO PROCEDURE EDIT_FATURA;  
GRANT EXECUTE ON PROCEDURE EDIT_FATURA TO SYSDBA;

Und mit dem folgenden code, den ich rufen Sie die gespeicherte Prozedur mit meiner Delphi-Anwendung

dm.q_genel.Close;     
dm.q_genel.SQL.Clear;     
dm.q_genel.SQL.Add('EXECUTE PROCEDURE EDIT_FATURA(:p1,:p2)');
dm.q_genel.ParamByName('p1').AsInteger := fid;
dm.q_genel.ParamByName('p1').AsInteger := sayi; 
dm.q_genel.execute;

Als es ist gesehen, einige Datensätze, die eingefügt zu einer Tabelle gespeicherte Prozedur aufgerufen, die in meinem delphi-Anwendung.

Aber da sind Sie nicht verpflichtet, nach der Ausführung der gespeicherten Prozedur, ich kann nicht auf neu eingefügte Datensätze in meiner Anwendung.

Wie ich Begehen können Zeilen eingefügt, durch die Gespeicherte Prozedur, so dass ich auf Sie zugreifen kann in meiner Anwendung?

Soweit ich weiß, ist es nicht erlaubt, "commit", die in einer Gespeicherten Prozedur

InformationsquelleAutor Murat | 2011-01-29
Schreibe einen Kommentar