Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi probleme mit trigger (https://www.delphipraxis.net/19556-probleme-mit-trigger.html)

Nightfly 5. Apr 2004 13:35


probleme mit trigger
 
SQL-Code:
CREATE TRIGGER STRUKT_AI0 FOR STRUKT
ACTIVE AFTER INSERT POSITION 0
AS
begin
for select id,parent,bez,calc from vorgabe v do
  begin
  insert into main (id,parent,bez,clac,stelle)
              values(v.id,v.parent,v.bez, c.calc,new.stelle);
  end
end
Es sollte klar sein was dieser Trigger macht: wenn in der tabelle strukt ein neuer DS hinzukommt,soll er für jeden datensatz aus der Tabelle vorgabe einen datensatz in der tabelle main erstellen, mit dem verweis auf den weer stelle des eben in strukt angelegten datensatzes.

Problem: er compiliert nicht :( "Parsing error"..furchbar aussagekräftig :-/ ..ich nehme an es hängt an der syntax der schleife,kann jemand helfen?

DelphiDeveloper 5. Apr 2004 13:49

Re: probleme mit trigger
 
Zitat:

for select id,parent,bez,calc from vorgabe v do
da fehlt doch ein into

for select id,parent,bez,calc from vorgabe v INTO ... do

Nightfly 5. Apr 2004 13:57

Re: probleme mit trigger
 
ja und wo rein? :oops: ich will doch bloß mit der schleife das er jeden Datensatz durchgeht,und verarbeite die werte dann in meinem insert into. Muß ich tatsächlich variablen einführen?

DelphiDeveloper 5. Apr 2004 14:12

Re: probleme mit trigger
 
wie bei SPs, etwa so:

Code:
CREATE TRIGGER TESTE_AI0 FOR TESTE
ACTIVE AFTER INSERT POSITION 0
AS
DECLARE VARIABLE V_ID INTEGER;
DECLARE VARIABLE V_TESTFELD VARCHAR(10);
DECLARE VARIABLE V_DATUM DATE;
BEGIN
  FOR SELECT ID, TESTFELD, DATUM FROM TESTTABLE T INTO
   :V_ID, :V_TESTFELD, :V_DATUM

  DO
  BEGIN
    INSERT INTO TEST1(ID) VALUES (:V_ID);

  END
END


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz