Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Feld mit "not null" per Trigger befüllen (https://www.delphipraxis.net/161911-feld-mit-not-null-per-trigger-befuellen.html)

bwolf 27. Jul 2011 07:29

Datenbank: ADS • Version: 10.10 • Zugriff über: TDataSet Descendant

Feld mit "not null" per Trigger befüllen
 
Hallo,

ich habe eine Tabelle mit 2 Felder:

Feld1 Char Not Null
Feld2 Char Not Null

Nun möchte ich bei einem Insert das Feld2 mit dem Wert von Feld1 befüllen.

Ich habe es mit einem "Before Insert" und einem "Instead Of Insert" Trigger probiert, kriege aber bei beiden Varianten einen Fehler das das Feld2 nicht null sein darf.
Ist es möglich das mit dem ADS zu realisieren?

Danke für eure Hilfe!

himitsu 27. Jul 2011 08:44

AW: Feld mit "not null" per Trigger befüllen
 
Jupp, du sagst doch selber (in obriger Definition), daß diese Felder niemals NULL sein dürfen.

Also mußt du entweder in dieser Definition einen Default-Wert vorgeben
Ader du mußt beim Insert jeweils einen Wert für diese Felder mit übergeben.

bwolf 27. Jul 2011 09:09

AW: Feld mit "not null" per Trigger befüllen
 
Hi Himitsu,

ja klar sage ich das Feld nicht null sein darf - deswegen wollte ich es ja auch in einem BEFORE INSERT Trigger befüllen, damit es eben nicht null ist ;)

himitsu 27. Jul 2011 09:20

AW: Feld mit "not null" per Trigger befüllen
 
Was machst'n im BeforeInsert?

joachimd 27. Jul 2011 09:45

AW: Feld mit "not null" per Trigger befüllen
 
Bei NOT NULL muss schon vom Client her ein Wert drinstehen. Also entferne den Constraint und befülle im INSTEAD OF INSERT Trigger:

SQL-Code:
create trigger trig_ins on mytable instead of insert
begin
  update __new set feld2=feld1;
  insert into mytable select * from __new;
end;

bwolf 27. Jul 2011 09:58

AW: Feld mit "not null" per Trigger befüllen
 
Hi,

super vielen Dank für die Hilfe!
Gruß ben


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