Как да променя колоната за добавяне на таблица в базата данни на 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:статистическите данни за обекта са заключено