Oracle SQL - Dodaj podstawowy klucz do tabeli

Mam kilka kolumn bez klucza podstawowego ichcesz dodać kolumnę klucza podstawowego.

NAME    Age
-------------
Peter   45
Bob     25
John    56
Peter   45

Niektórzy koledzy sugerują dodanie PK z sekwencjami i wyzwalaczami: Dodaj klucz podstawowy z automatycznym przyrostem do istniejącej tabeli w wyroczni

To jest miłe, alemoi klienci używają użytkownika bazy danych bez uprawnień do dodawania sekwencji lub wyzwalaczy. Chcę zapobiec kontaktowaniu się z dziesiątkami administratorów DBA w celu zmiany praw użytkownika lub uruchomienia moich skryptów.

To jest moja sugestia, aby dodać PK tylko z instrukcją aktualizacji: (Potrzebuję pomocy w kroku 2)

Krok 1: Utwórz kolumnę ID (Mam do tego prawa DB)

ALTER TABLE PERSON ADD ID NUMBER(10,0);

Krok 2: Pytanie: Czy mogę zainicjować kolumnę ID z unikalnymi wartościami w oparciu o kolejność wierszy lub coś innego? W jaki sposób?

UPDATE PERSON SET ID = something-unique

Krok 3: Dodaj ograniczenie kluczowe klucza podstawowego: (I DB ma do tego prawa)

ALTER TABLE PERSON ADD CONSTRAINT PK_ID PRIMARY KEY(ID);

Krok 4: Słowa kluczowe: klucz podstawowy jest zarządzany i dodawany przez moją aplikację.

Będzie to wynik:

ID(PK)  NAME    Age
---------------------
1       Peter   45
2       Bob     25
3       John    56
4       Peter   45

Dzięki, ludzie!

questionAnswers(2)

yourAnswerToTheQuestion