Oracle
 sql >> база данни >  >> RDS >> Oracle

Как да промените таблицата за добавяне на колона оракул

Как да променя колоната за добавяне на таблица в базата данни на oracle

  • Добавяте нова колона с помощта на ALTER TABLE ADD ADD COLUMN изявление в Oracle
  • Таблицата трябва да се съдържа във вашата схема, За да промените таблица, или трябва или да имате право  ALTER обект за таблицата или системно право ALTER ANY TABLE.
  • Ако изглед, материализиран изглед, тригер, базиран на функция индекс, ограничение за проверка, функция, процедура на пакета зависят от основна таблица, промяната на основната таблица или нейните колони може да повлияе на зависимия обект Например PLSQL обектите стават невалиден  ако зависимият обект на таблица е променен и трябва да ги направите отново валидни

Можем да добавим нова колона към дефиницията на таблицата с помощта на командата alter table add 

ALTER TABLE tech_master ADD (name  varchar2(9));
Table Altered
  • Преди 11g, ако към таблица се добави нова колона, колоната първоначално е NULL освен ако не посочите клаузата DEFAULT . . Когато зададете стойност по подразбиране, базата данни незабавно актуализира всеки ред със стойността по подразбиране. Имайте предвид, че това може да отнеме известно време и че по време на актуализацията на масата има ексклузивно заключване на DML.
  • За някои типове таблици (например таблици без LOB колони), ако посочите едновременно ограничение NOT NULL и стойност по подразбиране, базата данни може да оптимизира операцията за добавяне на колони и значително да намали времето, през което таблицата е заключено за DML. Същият е случаят с добавянето на колони без нула със стойност по подразбиране
  • Oracle въведе функция за бързо добавяне на колона в 11g, така че когато добавим колона не нула със стойност по подразбиране или нула колона със стойност по подразбиране, Oracle добавя колоната незабавно и не актуализира всеки ред със стойността по подразбиране. S
  • o понася всякакви санкции за генериране на повторно изпълнение и отмяна. Когато потребител избере колоната за съществуващ запис, Oracle получава факта за стойността по подразбиране от речника на данните и го връща на потребителя.

Не можете да посочите къде да се показва колоната. Новодобавената колона става последна колоната

 По същия начин можем да добавим няколко колони към таблицата

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);

Конвенциите за именуване на колони  са същите като в случая на израза за създаване на таблица

  • Името, което изберете за колона, трябва да отговаря на следните стандартни правила:
  • Името трябва да започва с букви A-Z или a-z
  • може да съдържа числа и долни черти
  • Може да е ГОРНА или малка буква
  • Може да бъде с дължина до 30 знака
  • Не може да се използва същото име на друг съществуващ обект във вашата схема
  • Не трябва да бъде сървър на Oracle и запазена дума за SQL

Типовете данни отново са същите като израза за създаване на таблица

Характер -CHAR, NCHAR, VARCHAR2 &NVARCHAR2.
– Типът данни CHAR е буквено-цифров низ с фиксирана дължина, който има максимална дължина в байтове.
-Когато създавате тип данни CHAR, базата данни ще запази място за входящите данни и ако данните са по-къси от максималния размер, те ще бъдат подплатени отдясно
-Типът данни VARCHAR2 е променлива -дължина буквено-цифров низ, който има максимална дължина в байтове. Може да съхранява до 4000 байта.
Номер -NUMBER
-Типът данни NUMBER съхранява числото с точност и мащаб.
-Числови типове данни съхраняват отрицателни и положителни числа, числа с фиксирана запетая и числа с плаваща запетая
– Когато колона е дефинирана като NUMBER (6, 2), диапазонът от стойности може да се съхранява от –9999,99 до 9999,99. Oracle закръгля числата с плаваща запетая.
Дата и час –ДАТА, ЧАС (с часова зона или местна часова зона), ИНТЕРВАЛ ГОДИНА ДО МЕСЕЦ И ИНТЕРВАЛ ОТ ДЕН ДО СЕКУНДА.
-Типът данни DATE се използва за съхраняване на информация за дата и час.
-Този тип данни има редица специфични функции за манипулиране, форматиране и преглед на неговите данни.
– Типът данни DATE съдържа съхранение от седем байта и има информация за век, година, месец, ден, часове, минути и секунди.
– Параметърът NLS_DATE_FORMAT може да бъде променен, за да се контролира прегледът на данните. Функцията SYSDATE връща текущата дата
Големи обекти -BLOB (двоичен голям обект) , CLOB (знак голям обект) , NCLOB &BFILE
-Колоните от тези типове данни могат да съхраняват неструктурирани данни, включително текст, изображение, видео и пространствени данни. -Типът данни CLOB може да съхранява до осем терабайта символни данни, използвайки набора от знаци на базата данни CHAR.
-Типът данни BLOB се използва за съхраняване на неструктурирани двоични големи обекти, като тези, свързани с изображения и видео данни, където данните са просто поток от „битови“ стойности.
-Стойността на типа данни BFILE работи като файлов локатор или указател към файл във файловата система на сървъра. Максималният поддържан размер на файла е от 8TB до 128TB.
Дълги Данни за знаци с променлива дължина до 2 G
rowid Система от 64 базисни числа, представляваща уникалния адрес на реда в таблицата

Пример

Преди добавяне на колона

Desc emp

Промяна на колона за добавяне на таблица

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

След добавяне на колона

Desc emp

Сега се пуска тази колона

alter table emp drop column ext;

Надявам се да ви хареса статията за Как да промените колона за добавяне на таблица в oracle

Сродни статии
oracle create table syntax
Alter Table in Oracle
alter table move
DROP TABLE Оператор ORACLE
проверете размера на таблицата Oracle
ora-20005:статистическите данни за обекта са заключено


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Времето за изчакване за метода OracleDataReader.Read

  2. ASCII() функция в Oracle

  3. Извикване на pl/sql функция в java?

  4. Има ли начин в ORACLE да се съединят няколко реда в един, като се използват две таблици, където крайните стойности са разделени със запетаи?

  5. Функция FLOOR() в Oracle