Announcement

Collapse
No announcement yet.

Kann ich den "Current Value" eines Generator ändern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kann ich den "Current Value" eines Generator ändern

    also hallo erstmal ...

    ich habe in einer (Inter-Base-)Datenbank ein feld als Primary Key definiert , und mir mit eim Generator & einen Trigger "zusammengebastelt" dass die PK automatisch (und fortlaufend (1,2,3..)) eingefügt wird

    hier das BSP für den Trigger:
    ************************************************** ************
    <PRE>
    SET TERM !! ;
    CREATE TRIGGER ProblemAutoinctrigger FOR ProblemTable
    ACTIVE BEFORE INSERT POSITION 0
    AS
    BEGIN
    NEW.PK =
    GEN_ID(ProblemAutoIncGenerator,1);
    END!!
    SET TERM

    </PRE>
    ************************************************** ************

    hier das BSP für den Generator:
    ************************************************** ************
    <PRE>
    create generator ProblemAutoIncGenerator;
    </PRE>
    ************************************************** ************

    jetzt die Frage :

    kann ich den "Current Value" (also die Zahl die beim Eintrag in die DB als PK eingefügt wird) jetzt noch ändern/setzten/beeinflussen

  • #2
    Hallo,<BR>
    folgende Zeile sollte dein Problem lösen:<BR>
    SET GENERATOR ProblemAutoIncGenerator TO 1000;<BR>
    Das Setzen des Generators sollte wie folgt geschehen:<BR>
    if new.pk is null then NEW.PK = GEN_ID(ProblemAutoIncGenerator,1);<BR>
    Damit hat man zumindest noch die Möglichkeit, den PK auch manuell zu setzen. Stell dir vor, Du machst es wie Andreas Kosch in seinem Buch, und erzeugst einen Datensatz mit vordefinierter PK von -1. Dazu willst du doch nich jedesmal den Generatorwert ändern!<BR>
    Fran

    Comment


    • #3
      Ich meinte oben natürlich nicht 'Das Setzen des Generators...' sondern das Erzeugen des Wertes für PK im Trigger.<BR>
      Fran

      Comment


      • #4
        danke

        dass ich die PK immer vom Generator setzten lasse & nie mit hand festlegbar is , ist absicht ..

        Comment

        Working...
        X