Frage Zu Oracle-Sequenz
Wir haben bereits eine Sequenz in der Datenbank, nun muss ich ändern, dass die Reihenfolge, so dass ich beginnen von einem bestimmten Wert, die werde ich Holen aus der db. Ich habe folgenden code geschrieben
DECLARE
i_Seq INTEGER;
BEGIN
SELECT MAX (col_id) + 1 INTO i_Seq from Table;
EXECUTE IMMEDIATE 'CREATE SEQUENCE SEQHDR MINVALUE '|i_Seq|' MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH '|i_Seq|' CACHE 20 NOORDER NOCYCLE'
END;
/
Habe ich folgende Fragen.
- Muss ich fallen alte Sequenz-oder oracle-tun es von selbst?
- Die start mit - Klausel in der Reihenfolge der Erstellung. Verwende ich es richtig? oder kann ich ersetzen Sie es mit einer beliebigen Anzahl?
- Fallen die Sequenz Ursache abhängige Objekte ungültig werden sehen: stackoverflow.com/questions/7486917/... für eine Lösung, verändert die Reihenfolge, ohne fallen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja, würden Sie brauchen, um drop die Reihenfolge, wenn es bereits vorhanden ist. Es gibt kein CREATE or REPLACE SEQUENCE-option.
Ja, Sie sind mit der START WITH-Klausel, richtig. Es gibt keine Notwendigkeit, geben Sie eine MINVALUE, da die Reihenfolge deklariert ist NOCYCLE.