sql >> Database teknologi >  >> RDS >> Oracle

Sådan ændres tabel tilføje kolonne orakel

Sådan ændres tabel tilføje kolonne i Oracle Database

  • Du tilføjer en ny kolonne ved hjælp af ÆNDRINGSTABEL TILFØJ KOLONNE erklæring i Oracle
  • Tabellen skal være indeholdt i dit skema For at ændre en tabel, eller du skal enten have  ALTER-objektprivilegiet for tabellen eller ALTER ANY TABLE systemprivilegiet.
  • Hvis en visning, materialiseret visning, trigger,  funktionsbaseret indeks, kontrolbegrænsning, funktion, pakkeprocedure afhænger af en basistabel, kan ændringen af ​​basistabellen eller dens kolonner påvirke det afhængige objekt. For eksempel bliver PLSQL-objekter invalid  hvis det afhængige tabelobjekt ændres, og du skal gøre dem gyldige igen

Vi kan tilføje en ny kolonne til tabeldefinitionen ved at bruge alter table add-kommandoen

ALTER TABLE tech_master ADD (name  varchar2(9));
Table Altered
  • Før 11g, hvis en ny kolonne føjes til en tabel, er kolonnen oprindeligt NULL medmindre du angiver DEFAULT -udtrykket. . Når du angiver en standardværdi, opdaterer databasen straks hver række med standardværdien. Bemærk, at dette kan tage noget tid, og at der under opdateringen er en eksklusiv DML-lås på bordet.
  • For nogle typer tabeller (f.eks. tabeller uden LOB-kolonner), hvis du angiver både en NOT NULL-begrænsning og en standardværdi, kan databasen optimere kolonnetilføjningsoperationen og i høj grad reducere den tid, tabellen er låst til DML. Det samme er tilfældet for tilføjelse af ikke-nul kolonne med standardværdi
  • Oracle har introduceret funktionen til hurtig tilføjelse af kolonner i 11g, så når vi tilføjer ikke null-kolonne med standardværdi eller null-kolonne med standardværdi, tilføjer Oracle kolonnen med det samme og opdaterer ikke hver række med standardværdien. S
  • Og det medfører enhver straf for generering af om og fortryd. Når en bruger vælger kolonnen for en eksisterende post, får Oracle fakta om standardværdien fra dataordbogen og returnerer den til brugeren.

Du kan ikke angive, hvor  kolonnen skal vises. Den nyligt tilføjede kolonne bliver den sidste kolonne

 På samme måde kan vi tilføje flere kolonner  til tabellen

ALTER TABLE table_name
ADD (col1 column datatype [default  expr],
col2 column datatype [default  expr],
...
coln column datatype [default  expr]);

Example
ALTER TABLE customer_master
ADD (location_name varchar2(100),
last_login date);

Konventioner for kolonnenavne  er de samme som i tilfældet med Opret tabelsætning

  • Det navn, du vælger til en kolonne, skal følge disse standardregler:
  • Navnet skal begynde med bogstavet A-Z eller a-z
  • det kan indeholde tal og understregninger
  • Kunne være STORE eller små bogstaver
  • Kan være op til 30 tegn lange
  • Kan ikke bruge det samme navn på et andet eksisterende objekt i dit skema
  • Må ikke være en Oracle-server og et reserveret SQL-ord

Datatyper er igen de samme som oprettelse af tabelsætning

Karakter -CHAR, NCHAR, VARCHAR2 &NVARCHAR2.
– CHAR-datatypen er en alfanumerisk streng med fast længde, som har en maksimal længde i bytes.
-Når der oprettes en CHAR-datatype, vil databasen bevare plads til de indgående data, og hvis dataene er kortere end maksimal størrelse, vil de blive polstret med mellemrum til højre
-VARCHAR2-datatypen er en variabel -længde alfanumerisk streng, som har en maksimal længde i bytes. Den kan gemme op til 4000 bytes.
Nummer -NUMBER
- NUMBER-datatypen gemmer tal med præcision og skala.
-Numeriske datatyper gemmer negative og positive heltal fastpunktstal og flydende tal
– Når en kolonne er defineret som NUMBER (6, 2), kan værdiintervallet lagres fra –9999,99 til 9999,99. Oracle runder tallene med flydende komma.
Dato og tid –DATO, TIDSSTIMPEL (med tidszone eller lokal tidszone), INTERVAL ÅR TIL MÅNED &INTERVAL DAG TIL ANDET.
-Datatypen DATO bruges til at gemme oplysninger om dato og klokkeslæt.
-Denne datatype har en række specifikke funktioner til at manipulere, formatere og se dens data.
– DATE-datatypen rummer syv bytes og har information om århundrede, år, måned, dag, timer, minutter og sekunder.
– NLS_DATE_FORMAT-parameteren kan ændres for at styre visningen af ​​dataene. Funktionen SYSDATE returnerer den aktuelle dato
Store objekter -BLOB (binært stort objekt) , CLOB (karakter stort objekt) , NCLOB &BFILE
-Kolonner af disse datatyper kan gemme ustrukturerede data inklusive tekst, billede, video og rumlige data. -CLOB-datatypen kan gemme op til otte terabyte tegndata ved hjælp af CHAR-databasens tegnsæt.
-BLOB-datatypen bruges til at gemme ustrukturerede binære store objekter, såsom dem, der er forbundet med billed- og videodata, hvor dataene blot er en strøm af "bit"-værdier.
-BFILE-datatypeværdien fungerer som en filfinder eller pegepind til fil på serverens filsystem. Den maksimale understøttede filstørrelse er 8TB til 128TB.
Lang Tegndata med variabel længde op til 2 G
ruvid Et 64-basetalsystem, der repræsenterer den unikke adresse på rækken i tabellen

Eksempel

Før kolonne tilføjes

Desc emp

Ændre tabel tilføj kolonne

alter table emp add(ext varchar2(10));

Efter tilføjelse af kolonne

Desc emp

Sluts nu den kolonne

alter table emp drop column ext;

Håber du kan lide artiklen om Sådan ændrer du tabel tilføje kolonne i Oracle

Relaterede artikler
oracle-opret tabelsyntaks
Ændre tabel i Oracle
ændre tabelflytning
DROP TABLE ORACLE-sætning
tjek Oracle-tabelstørrelse
ora-20005:objektstatistikker er låst


  1. Vælg kolonner på tværs af forskellige databaser

  2. Konfigurer SQL Server Log Shipping

  3. Sådan kontrolleres, om SQL-databasen er beskadiget - Løsning til reparation af MDF-fil

  4. En guide til automatiserede cloud-databaseimplementeringer