Autor Beitrag
svenson08
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: So 30.05.04 20:26 
Hallo,

kann ich einer Interbase Datenbank beibringen das, wenn ein neuer Datensatz erzeugt wird, die Tabellenfelder mit default werten gefüllt werden. Ich möchte das die DB dies selbst macht und ich mich nicht darum kümmern muss.

Gruß Sascha
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mo 31.05.04 03:01 
Ich denke du weißt mittlerweile, was ein Trigger macht ? Insbesondere der Before-Insert-Trigger ist in diesem Zusammenhang wichtig. Wie erzeugst du denn die ID ? Falls die gebraucht wird, so wird meist ein Trigger eingesetzt. Und in diesem nur die ID vorzubesetzen, dafür ist er zu schade. Genau an dieser Stelle übernimmt der Trigger dir und deinem Programm die ganze Arbeit mit den Default-Werten.

_________________
Gruß
Hansa
svenson08 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Mo 31.05.04 14:04 
ich dachte mehr an so was

alter table "TEST"
add "FELD1" CHAR(1) NOT NULL DEFAULT '1';

so, oder so ähnlich ist es jedenfall nachzu lesen. Nur funktioniert es nicht.
Erhalte dann die Meldung : Unsucessful metadata update STORE RBS$RELATION_FIELD failed .....

Ein Trigger find ich etwas "übertrieben". Denn laut IB ist dazu der DEFAULT Parameter gedacht, was auch eigentlich sinn macht. Aber wie beschrieben bringts bei mir eine fehler meldung.
Hat jemand sowas schon mal eingesetzt ?
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Di 01.06.04 13:48 
hi,

wie lautet denn die ganze fehlermeldung?

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
svenson08 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 87



BeitragVerfasst: Di 01.06.04 16:26 
hab den Fehler selbst gefunden warum der eintrag nicht übernommen wurde

alter table "TEST"
add "FELD1" CHAR(1) DEFAULT '1' NOT NULL ;

muss es lauten.
Alternativ hab ich es mit DOMAIN probiert.

Nun hab ich zwar ein Feld was ein Default wert hat, jedoch wenn ich einen neuen Datensatz erzeuge wird das feld nicht mir dem Default wert gefüllt.

Weis jemand rat ?