Hallo Paul Jr. und Delphianer
Zunächst einmal vielen Dank für die Tipps, das Ding hat mich doch
einige Nerven gekostet
. Hat jetzt ein bischen gedauert bis ich
wieder an diese
DB gekommen bin. Die Lösung war das
IF (NEW. ORD_BAS_PID IS NULL) THEN
NEW.ORD_BAS_PID = GEN_ID( ORDER_BASIS_PID_GEN,1 );
Die Idee mit dem Autocomit ist auch nicht ohne. In meinem Fall
habe ich das allerdings so gelöst, das ein Post abgesetzt wird
wenn das entsprechende Formular geschlosssen wird. Trotzde, da sind
auch einige Hinweise die später sicher mal eingebaut werden...
Hier nochmal eine Tabelle mit der kompletten Definition
CREATE TABLE order_basis (
ORD_BAS_PID INTEGER,
ORD_BAS_DeadlineDate DATE,
ORD_BAS_DeadlineTime DATE,
ORD_BAS_OrderTopic CHAR(50),
ODR_BAS_PayedBy CHAR(50)
);
COMMIT;
CREATE INDEX PRIMARYINDEX ON order_basis (ORD_BAS_PID);
CREATE GENERATOR ORDER_BASIS_PID_GEN ;
SET GENERATOR ORDER_BASIS_PID_GEN TO 0 ;
COMMIT;
DROP TRIGGER ORDER_BASIS_PID_TRG;
set term ! ;
CREATE TRIGGER ORDER_BASIS_PID_TRG FOR order_basis
before insert position 0 as
begin
IF (NEW. ORD_BAS_PID IS NULL) THEN
NEW.ORD_BAS_PID = GEN_ID( ORDER_BASIS_PID_GEN,1 );
end !
set term ; !
Übrigens Paul Jr. Danke, das Du Dich auf meine Feldbezeichnungen
eingelassen hast, die sind nun nicht jedermanns Sache.
Viele Grüße aus der Stadt an der Leine
// Martin