neu starten, so dass nextval wird die nächste freie id

Ich habe ein script, das kopiert die Tabelle, die Daten aus einer DB zur anderen, aber die ID-Spalte ist gesichert durch eine Sequenz so, wenn ein neuer Datensatz eingefügt wird, in der Ziel-Tabelle die nextval(seq) ist wieder der falsche Wert.

Brauche ich zum aktualisieren der Sequenz, so dass es beginnt mit der nächsten verfügbaren ID.

Ich möchte etwas machen wie:

ALTER SEQUENCE seq_id RESTART WITH
    (SELECT MAX(id) FROM tbl);

Den oben erzeugt einen syntax-Fehler jedoch.

Kann jeder jeden schlagen einen alternativen Ansatz?

InformationsquelleAutor pstanton | 2011-07-04
Schreibe einen Kommentar