Mam sekwencję używaną do wysiewu moich kluczy głównych (opartych na Integer) w tabeli Oracle.Oracle 9 - Resetowanie sekwencji, aby dopasować stan tabeli
Wygląda na to, że ta sekwencja nie zawsze była używana do wstawiania nowych wartości do tabeli. Jak uzyskać sekwencję z powrotem z rzeczywistymi wartościami w tabeli?
Mam problem z jak zrobić krok 3, próbowałem różnych składni, ale nie mogę go uruchomić – AJM
Celem kroku 3 jest po prostu porównać największą wartość PK do następnej wartości sekwencji. Na przykład, jeśli SELECT z kroku 1 dało wynik 100, a SELECT z kroku 2 dało wynik 90, co oznacza, że masz "skok" 11 sekwencji. Gdy zmienisz sekwencję w kroku 4, SELECT w kroku 5 przesunie wartości sekwencji 10 do 100. Po tym jak inkrement zostanie skasowany w kroku 6, następne "SELECT PK_SEQ.NEXTVAL FROM DUAL" da ci 101. – dpbradley
In krok 4 Nie mogę uzyskać składni, aby wykonać odejmowanie w klauzuli Przyrost za pomocą. Próbowałem [a-b] a-b i selecr a-b od dual, ale nie z żadnym sukcesem. – AJM