Alexa: autoincrement bei oracle

Hallo,

gibt es so was wie autoincrement auch bei oracle?
oder wie mach ich es am besten, dass wenn ich einen neuen Datensatz in ne Tabelle einfüg, die id gleichzeitig um eins erhöht wird?

Danke und Gruss
Alexa

  1. Hallo Alexa,

    gibt es so was wie autoincrement auch bei oracle?

    Nein, gibt es nicht.

    oder wie mach ich es am besten, dass wenn ich einen neuen Datensatz in ne Tabelle einfüg, die id gleichzeitig um eins erhöht wird?

    Mit Sequences und Triggern. Siehe dazu mal http://www.koehntopp.de/php/database_oracle.html#oracle-inkrement an.

    Viele Grüße
    Andreas

    1. Mit Sequences und Triggern. Siehe dazu mal http://www.koehntopp.de/php/database_oracle.html#oracle-inkrement an.

      Danke, dass is genau das, was ich gesucht hab

      Alexa

  2. Hallo,

    gibt es so was wie autoincrement auch bei oracle?
    oder wie mach ich es am besten, dass wenn ich einen neuen Datensatz in ne Tabelle einfüg, die id gleichzeitig um eins erhöht wird?

    Einen Trigger auf die Tabelle mit Hilfe einer Sequenz erstellen:

    before insert
    on [tabellenname]
    for each row
    begin
    select [sequenzname].nextval
    into :new.id
    from dual;
    end;

    Finde ich aber etwas mühsam, ich mach halt im SQL immer

    INSERT INTO tabelle (id, ...)
    VALUES (sequenzname.nextval, ...)

  3. HI Alexa,

    gibt es so was wie autoincrement auch bei oracle?

    wofür brauchst Du das?

    Ich habe noch nie ein autoIncrement gesehen, das von der Semantik der Anwendung her gerechtfertigt war.
    (Aber schon genügend, die mich einfach nur am sinnvollen Verarbeiten der Tabelle gehindert haben.)

    Die Gefahr, daß Dein Tabellen-Design an dieser Stelle ein strukturelles Defizit aufweist, ist nicht von der Hand zu weisen.

    Viele Grüße
          Michael