Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi in trigger von tabelle auf fremde tabelle zugreifen (https://www.delphipraxis.net/68972-trigger-von-tabelle-auf-fremde-tabelle-zugreifen.html)

sancho1980 8. Mai 2006 21:06

Datenbank: firebird • Zugriff über: ibx, ibexpert

in trigger von tabelle auf fremde tabelle zugreifen
 
hallo:
ich habe folgendes problem
man stelle sich 2 tabellen t1, t2 folgendermaßen vor:

t1: id: integer, wert: integer
t2: id: integer, fremdschlüssel_auf_t1: integer

jetzt will ich einen insert/update-trigger für t2 schreiben, der folgendes tut:

SQL-Code:
if ((select wert from t1 where id = new.fremdschlüssel_auf_t1) is not null) then
  exception meine_ausnahme;

eben so, wie ich mir das gedacht hab, funktioniert das leider nicht aber ihr versteht sicher was ich damit meine...
wie greife ich im trigger von t2 auf das feld 'wert' desjenigen eintrags von t1 zu, für den gilt id = new.fremdschlüssel_auf_t1?

danke,

martin

mkinzler 8. Mai 2006 21:15

Re: in trigger von tabelle auf fremde tabelle zugreifen
 
Versuch es mal so:

SQL-Code:
for select wert from t1 where id = new.fremdschlüssel_auf_t1 into :t1wert do
  if (:tlwert is not null) then
    exception meine_ausnahme;
(Nicht getestet)

sancho1980 8. Mai 2006 21:20

Re: in trigger von tabelle auf fremde tabelle zugreifen
 
ne klappt leider nicht hatte ich auch schon probiert :pale:

da bekomm ich:

Column does not belong to referenced table.
Dynamic SQL Error.
SQL error code = -206.
Column unknown.
T1WERT.

Kedariodakon 9. Mai 2006 00:29

Re: in trigger von tabelle auf fremde tabelle zugreifen
 
Hört sich so an, als kann er die Spalte "T1WERT" nicht in der Tabelle finden...

Bye Keda

sancho1980 9. Mai 2006 00:44

Re: in trigger von tabelle auf fremde tabelle zugreifen
 
ja is ja klar
is ja auch keine spalter der tabelle
hab mittlerweile rausgekriegt, dass man in ibexpert für trigger die lokalen variablen manuell eintippen muss (im gegensatz zu sp's wo das ganz komfortabel mit mausklick geht)
hat sich also erledigt
trotzdem danke

TBx 9. Mai 2006 08:03

Re: in trigger von tabelle auf fremde tabelle zugreifen
 
Hallo Sancho!

Zitat:

Zitat von sancho1980
hab mittlerweile rausgekriegt, dass man in ibexpert für trigger die lokalen variablen manuell eintippen muss (im gegensatz zu sp's wo das ganz komfortabel mit mausklick geht)

Das kannst Du im Expert einstellen:


Menü Optionen, Menüpunkt Objekteditor Optionen.

Bei Triggers editor kannst Du dann eine Checkbox Variables in Grid setzen.

Gruß

Thomas


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:28 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