sql >> Databasteknik >  >> RDS >> Oracle

Hur man ändrar tabell lägg till kolumn oracle

Hur man ändrar tabell Lägg till kolumn i Oracle Database

  • Du lägger till en ny kolumn med ÄNDRA TABELL LÄGG TILL KOLUMN uttalande i Oracle
  • Tabellen måste finnas i ditt schema För att ändra en tabell, eller så bör du antingen ha  ALTER-objektbehörighet för tabellen eller ALTER ANY TABLE systembehörighet.
  • Om en vy, materialiserad vy, trigger,  funktionsbaserat index, kontrollbegränsning, funktion, paketprocedur beror på en bastabell, kan ändringen av bastabellen eller dess kolumner påverka det beroende objektet. Till exempel PLSQL-objekt blir invalid  om det beroende tabellobjektet ändras och du måste göra dem giltiga igen

Vi kan lägga till ny kolumn i tabelldefinitionen genom att använda kommandot alter table add 

ALTER TABLE tech_master ADD (name  varchar2(9));
Table Altered
  • Före 11g, om en ny kolumn läggs till i en tabell, är kolumnen initialt NULL om du inte anger DEFAULT -satsen. . När du anger ett standardvärde uppdaterar databasen omedelbart varje rad med standardvärdet. Observera att detta kan ta lite tid, och att det under uppdateringen finns ett exklusivt DML-lås på bordet.
  • För vissa typer av tabeller (till exempel tabeller utan LOB-kolumner), om du anger både en NOT NULL-begränsning och ett standardvärde, kan databasen optimera kolumntilläggsoperationen och avsevärt minska den tid som tabellen är låst för DML. Samma är fallet för tillägg av icke-null-kolumn med standardvärde
  • Oracle har introducerat funktionen för snabb lägga till kolumn i 11g, så när vi lägger till inte null kolumn med standardvärde eller noll kolumn med standardvärde, lägger Oracle till kolumnen omedelbart och uppdaterar inte varje rad med standardvärdet. S
  • o det medför eventuella straff för att göra om och ångra generering. När en användare väljer kolumnen för en befintlig post får Oracle fakta om standardvärdet från dataordboken och returnerar det till användaren.

Du kan inte ange var kolumnen ska visas. Den nyligen tillagda kolumnen blir den sista kolumnen

 På liknande sätt kan vi lägga till flera kolumner  i 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 för kolumnnamn  är desamma som i fallet med Skapa tabellsats

  • Namnet du väljer för en kolumn måste följa dessa standardregler:
  • Namnet måste börja med bokstaven A-Z eller a-z
  • den kan innehålla siffror och understreck
  • Kan vara STORA eller gemener
  • Kan vara upp till 30 tecken långa
  • Kan inte använda samma namn på ett annat befintligt objekt i ditt schema
  • Får inte vara en Oracle-server och ett reserverat SQL-ord

Datatyper är återigen desamma som skapa tabellsatser

Tecken -CHAR, NCHAR, VARCHAR2 &NVARCHAR2.
– CHAR-datatypen är en alfanumerisk sträng med fast längd som har en maximal längd i byte.
-När du skapar en CHAR-datatyp kommer databasen att bevara utrymme för inkommande data och om data är kortare än maximal storlek kommer den att fyllas med mellanslag till höger
- VARCHAR2-datatypen är en variabel -längd alfanumerisk sträng, som har en maximal längd i byte. Den kan lagra upp till 4000 byte.
Nummer -NUMBER
-Datatypen NUMBER lagrar nummer med precision och skala.
-Numeriska datatyper lagrar negativa och positiva heltal fasta tal och flyttal
– När en kolumn definieras som NUMBER (6, 2), kan värdeintervallet lagras från –9999,99 till 9999,99. Oracle rundar av flyttalstalen.
Datum och tid –DATUM, TIDSTÄMPEL (med tidszon eller lokal tidszon), INTERVALL ÅR TILL MÅNAD &INTERVALL DAG TILL ANDRA.
-Datatypen DATE används för att lagra information om datum och tid.
-Denna datatyp har ett antal specifika funktioner för att manipulera, formatera och visa dess data.
– Datatypen DATE rymmer sju byte och har information om århundrade, år, månad, dag, timmar, minuter och sekunder.
– Parametern NLS_DATE_FORMAT kan ändras för att styra visningen av data. Funktionen SYSDATE returnerar det aktuella datumet
Stora objekt -BLOB (binärt stort objekt) , CLOB (tecken stort objekt) , NCLOB &BFILE
-Kolumner av dessa datatyper kan lagra ostrukturerad data inklusive text, bild, video och rumslig data. -CLOB-datatypen kan lagra upp till åtta terabyte teckendata med hjälp av CHAR-databasens teckenuppsättning.
- BLOB-datatypen används för att lagra ostrukturerade binära stora objekt som de som är associerade med bild- och videodata där data helt enkelt är en ström av "bitvärden".
-BFILE-datatypens värde fungerar som en fillokalisering eller pekare till fil på serverns filsystem. Den maximala filstorleken som stöds är 8TB till 128TB.
Lång Teckendata med variabel längd upp till 2 G
rovid Ett 64 basnummersystem som representerar den unika adressen för raden i tabellen

Exempel

Innan du lägger till kolumn

Desc emp

Ändra tabell lägg till kolumn

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

Efter att ha lagt till kolumn

Desc emp

Tar bort den kolumnen

alter table emp drop column ext;

Hoppas du gillar artikeln om Hur man ändrar tabell lägg till kolumn i Oracle

Relaterade artiklar
oracle skapa tabellsyntax
Ändra tabell i Oracle
ändra tabell flytta
DROP TABLE ORACLE-sats
kontrollera Oracle-tabellstorleken
ora-20005:objektstatistik är låst


  1. Fatalt fel:Anrop till odefinierad funktion sqlsrv_connect()

  2. PDO::PARAM för typ decimal?

  3. Hur krymper man temporärt bordsutrymme i Oracle?

  4. Är det möjligt att generera django-modeller från databasen?