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!