AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi probleme mit trigger
Thema durchsuchen
Ansicht
Themen-Optionen

probleme mit trigger

Ein Thema von Nightfly · begonnen am 5. Apr 2004 · letzter Beitrag vom 5. Apr 2004
Antwort Antwort
Nightfly

Registriert seit: 25. Mär 2004
Ort: Dresden
118 Beiträge
 
#1

probleme mit trigger

  Alt 5. Apr 2004, 14:35
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?
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#2

Re: probleme mit trigger

  Alt 5. Apr 2004, 14:49
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
  Mit Zitat antworten Zitat
Nightfly

Registriert seit: 25. Mär 2004
Ort: Dresden
118 Beiträge
 
#3

Re: probleme mit trigger

  Alt 5. Apr 2004, 14:57
ja und wo rein? 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?
  Mit Zitat antworten Zitat
DelphiDeveloper

Registriert seit: 9. Apr 2003
Ort: Köln
256 Beiträge
 
Delphi XE2 Enterprise
 
#4

Re: probleme mit trigger

  Alt 5. Apr 2004, 15:12
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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:44 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