We moeten de tabel in Oracle vaak wijzigen, afhankelijk van de vereisten en upgrades. Hier zijn enkele van de belangrijke punten over Alter table statement
- U wijzigt of wijzigt een tabel met de ALTER TABLE verklaring.
- De tabel moet in uw schema staan. Als u een tabel wilt wijzigen, moet u ofwel het objectrecht ALTER voor de tabel hebben of het systeemrecht ALTER ANY TABLE.
- Als een weergave, gematerialiseerde weergave, trigger, functie-gebaseerde index, controlebeperking, functie, procedure van pakket afhankelijk is van een basistabel, kan de wijziging van de basistabel of de kolommen ervan het afhankelijke object beïnvloeden. plsql-objecten worden bijvoorbeeld ongeldig als het afhankelijke tabelobject wordt gewijzigd en u het opnieuw geldig moet maken
Fysieke kenmerken wijzigen (INITRANS of opslagparameters)
We kunnen de opslagparameter van de tabel wijzigen met de instructie Alter table. We kunnen inittrans op deze manier aanpassen
ALTER TABLE TABLE_NAME INITRANS 10;
De tabel verplaatsen naar nieuwe segmenten of tabelruimte
We kunnen indien nodig de niet-gepartitioneerde tabel of partitie van de tabel naar een nieuw segment of nieuwe tabelruimte verplaatsen
Alter table table_name move tablespace <tablespace name>
We kunnen zelfs de move-opdracht gebruiken om een opslagparameter van de tabellen te wijzigen die niet zijn gewijzigd met behulp van de alter table-opdracht
Tabel in orakel wijzigen om gegevenstype te wijzigen
We kunnen het gegevenstype van elke kolom wijzigen met de opdracht Wijzig tabel Wijzigen
ALTER TABLE <table_name> MODIFY (<column_name> <new_data_type>);
Before SQL> desc emp Name Null? Type ----------------------------------------- -------- ----------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(10) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2) After SQL> desc emp Name Null? Type ----------------------------------------- -------- ---------------------------- EMPNO NOT NULL NUMBER(4) ENAME VARCHAR2(20) JOB VARCHAR2(9) MGR NUMBER(4) HIREDATE DATE SAL NUMBER(7,2) COMM NUMBER(7,2) DEPTNO NUMBER(2)
wijzig kolomgegevenstype in orakel
Een nieuwe kolom toevoegen/een kolom verwijderen/een kolom hernoemen
We kunnen een nieuwe kolom toevoegen aan de tabeldefinitie
De opdracht 'wijzig tabel toevoegen' gebruiken
ALTER TABLE <table_name>
ADD (<New column_name> <new_data_type>);
Met Oracle kunt u bestaande kolommen in een tabel hernoemen. Gebruik de clausule RENAME COLUMN van de instructie ALTER TABLE om de naam van een kolom te wijzigen
Oracle stelt u in staat om de kolom in de tabel te laten vallen met het commando
Wijzig tabel
Bekijk het onderstaande artikel voor meer informatie hierover
tabel wijzigen kolom orakel toevoegen
Stel een kolom ongebruikt in en verwijder de ongebruikte kolom
als u zich zorgen maakt over de bron die wordt verbruikt bij het verwijderen van de kolom, kunt u de instructie ALTER TABLE…SET UNUSED gebruiken.
Deze instructie markeert een of meer kolommen als ongebruikt, maar verwijdert niet echt de doelkolomgegevens of herstelt de schijfruimte die door deze kolommen wordt ingenomen.
- Een kolom die is gemarkeerd als ongebruikt, wordt niet weergegeven in query's of datadictionary-weergaven, en de naam ervan wordt verwijderd zodat een nieuwe kolom die naam kan hergebruiken. Alle beperkingen, indexen en statistieken die in de kolom zijn gedefinieerd, worden ook verwijderd.
Example
ALTER TABLE <table_name>
SET UNUSED COLUMN <column_name>;
We kunnen de ongebruikte kolom later laten vallen wanneer de bron lager is met het commando
ALTER TABLE <table_name>
Drop UNUSED COLUMN ;
Integriteitsbeperkingen die aan de tabel zijn gekoppeld toevoegen, wijzigen of verwijderen of u kunt de beperkingen ook in-/uitschakelen
Beperkingen toevoegen wordt gedaan met behulp van tabelwijzigingsbeperkingen voor toevoegen
ALTER TABLE EMP ADD CONSTRAINT EMP_FK FOREIGN KEY (DEPT_NO) REFERENCES DEPT(DEPT_NO);
Beperkingen laten vallen – wordt gedaan met behulp van de
ALTER TABLE DROP CONSTRAINT <constraint_name> command;
Beperkingen inschakelen/uitschakelen – Beperkingen kunnen worden gemaakt in de DISABLE/ENABLE-modus of kunnen worden uitgeschakeld of ingeschakeld met behulp van de opdracht
ALTER TABLE ENABLE/DISABLE CONSTRAINT <constraint_name>
Naam tabel hernoemen
Met Oracle kunt u de naam van de tabel ook wijzigen
Rename <table name> to <new table name>;
Wijziging van tabelcache/no-cache, Compressie, parallellisme
Oracle staat toe Wijziging van tabelcache/geen cache, compressie, parallellisme
Gerelateerde artikelen
Lijst met alle tabellen in Oracle
tabel orakel maken
ora-2005:objectstatistieken zijn vergrendeld
tabel verplaatsen
hoe alle beperkingen op een tabel in orakel te controleren
https ://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_3001.htm