badfsaadkl
Goto Top

Oracle DB Wert in Spalte automatisch erhöhen

Hallo Zusammen,

ich möchte per VBS Schript Werte in einer Oracle 10g Datenbank in eine Tabelle importieren.

Ich habe nun das Problem, das in der Tabelle eine Spalte (ID) angegeben ist, welche sich automatisch bei einen neuem Datensatz um eins erhöhen soll.

Bis jetzt war die DB auf einem MS SQL Server, hier gab es diese funktion integriert.

Wie kann ich dies bei einer Oracle DB einstellen ?
Zum Editieren benutze ich den Oracle SQL Developer.

Habe bereits im I-Net gelesen, das das hier über Sequences und Trigger möglich sein soll.
Nur finde ich da leider keine detailierte Beschreibung.

Oder gibt es auch noch andere Möglichkeiten ?

Content-Key: 149681

Url: https://administrator.de/contentid/149681

Printed on: April 19, 2024 at 04:04 o'clock

Mitglied: 32067
32067 Aug 25, 2010 at 09:10:47 (UTC)
Goto Top
Nein, ein Autoin oder ähnliches gibt es bei Oracle nicht.

Erstelle eine Sequence und lass dir von der dann die Werte rausgeben. Diese stellt sicher, daß die Werte nur einmal

Kurze und knackige Anleitung mit Beispiel hier: http://www.techonthenet.com/oracle/sequences.php
Member: db-wizard
db-wizard Aug 25, 2010 at 10:58:10 (UTC)
Goto Top
Konkret, wenn du es über einen Trigger lösen möchtest :

CREATE OR REPLACE TRIGGER trig_get_pk
BEFORE
INSERT
ON MyTable
REFERENCING NEW AS NEW OLD AS OLD
FOR EACH ROW
BEGIN
SELECT My_SEQ.NEXTVAL
INTO :NEW.my_PrimaryKey
FROM DUAL;
END trig_get_pk;
/

Dazu musst du noch die Sequence einrichten :

CREATE SEQUENCE my_SEQ
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 999999999999999999999999999
NOCYCLE
NOORDER
CACHE 1000
/


Gruss