Zitat von
Sven Janssen:
IBPump hat für diese Felder einen Trigger und ein Generator erstellt.
Dieser Trigger müsste praktisch identisch aussehen wie folgender Vorschlag:
Zitat von
hoika:
Lösung : Erstelle für jede Tabelle eine Stored Procedure mit folgendem Inhalt:
SQL-Code:
CREATE PROCEDURE BILL_COSTCENTER_NEWID
RETURNS (
NEWID INTEGER)
AS
begin
newid=gen_id(Gen_Bill_CostCenter,1);
end
Gen_Bill_CostCenter ist ein Generator.
Heiko
PS: Den Trigger würde ich komplett rauslöschen.
Nein, der
Trigger ist genau die
IB-interne Lösung für eine Stored Procedure, die
automatisch ausgeführt wird (und nicht erst vom Delphi-Programm aus aktiviert werden muss):
SQL-Code:
CREATE TRIGGER BILL_COSTCENTER_Before_Insert_0 FOR BILL_COSTCENTER
ACTIVE BEFORE INSERT POSITION 0
AS BEGIN
IF ( New.ID IS NULL)
THEN New.ID = GEN_ID( Gen_Bill_CostCenter, 1);
END
Also schau Dir einmal an, was IBPump gemacht hat, und übernimm bzw. überarbeite diese Vorschläge. Jürgen