Entwickler-Ecke
Datenbanken - Firebird Serial??
doc_summer - Mo 12.04.04 11:36
Titel: Firebird Serial??
Hi!
Ich habe mich jetzt doch für FB-Embedded entschieden.
Folgendes Problem hab ich:
Unter PostgreSQL gabs beim Create Table Statement den
Datentyp serial (ist normaler Integerwert) der bei einem Insert nicht Explizit angegeben werden musste.
(Da die Datenbank dann dafür sorgte, das zum Beispiel eine ID, die mit "serial" angelegt wurde, automatisch hochgezählt wurde.)
Ich bin mit der FB-Syntax noch nicht so vertraut.
Gibt es so was ähnliches auch hier?
Oder muss ich hier massiv mit Triggern arbeiten?
Und wenn ja- wie sieht so ein Trigger hier dann aus?
Viele Grüsse und Danke
Chris
hansa - Mo 12.04.04 13:45
Gibts so nicht. Mußt Generator/Trigger nehmen, oder von Hand zu Fuß eintragen (Stored Procedure), z.B.:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| CREATE GENERATOR GEN_REC_ID;
CREATE TRIGGER REC_BI0 FOR REC ACTIVE BEFORE INSERT POSITION 0 AS begin IF (NEW.ID IS NULL) THEN begin NEW.ID = GEN_ID (GEN_REC_ID,1); end end ^
SET TERM ; ^ |
doc_summer - Mo 12.04.04 22:02
Ahh cool! Das ging aber Flott.
ich habe ne Tabelle z.B. Autos:
create table Autos (
id integer,
name VARCHAR(256))
"id" soll automatisch hochgezählt werden.. Und dann?
CREATE GENERATOR GEN_REC_ID;
CREATE TRIGGER REC_BI0 FOR REC // Wo Referenzier ich da auf Autos.id? hier?
ACTIVE BEFORE INSERT POSITION 0 // Was ist Active?
AS
begin
IF (NEW.ID IS NULL) THEN // new.id wäre dann hier Autos.id?
begin
NEW.ID = GEN_ID (GEN_REC_ID,1); //zählt man so hoch?
end
end
^
SET TERM ; ^ // Was zum Geier ist Set Term?? und vorallem was bedeutet das "^" Zeichen?
Fragen über Fragen.. Aber geil..
Kannst Du mir hier noch irgendwei weiterhelfen?
Oder besser noch ein Beispiel für meine Autos tabelle aufzeigen?
Vielen Dank und Grüsse
Chris
hansa - Mo 12.04.04 23:36
Ersetze einfach REC mit AUTO. Und mache den Rest so, wie gehabt. 8)
EDIT: Welches Tool benutzt Du eigentlich für die Tabellen anzulegen ?
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!