Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Ключевые слова и параметры



В таблице ниже описываются фразы, которые имеют специальный смысл для предложения ALTER TABLE. Для ознакомления с описанием других фраз см. раздел «Создание таблицы».

schema Схема, содержащая таблицу. Если schema опускается, Oracle предполагает, что таблица располагается в вашей схеме.
table Имя изменяемой таблицы.
ADD relational _properties Добавляет столбец или ограничение целостности. Если добавляется столбец, то для него устанавливается значение NULL для всех строк таблицы. Для описание ключевых слов и параметров см. раздел «Создание таблицы». Если вы ранее создали виртуальную таблицу (о виртуальных таблицах см. лабораторную работу 8) с запросом вида "SELECT *" для выбора всех столбцов из таблицы table, то после добавления нового столбца, Oracle не добавит автоматически столбец в такую виртуальную таблицу. Для добавления нового столбца в эту виртуальную таблицу повторно создайте ее с помощью предложения CREATE VIEW с использованием фразы OR REPLACE. Нельзя добавить столбец с ограничением NOT NULL, если таблица table имеет строки.
column_constraint Добавляет или удаляет ограничение NOT NULL в/из существующего столбца. Эту фразу нельзя использовать для изменения других ограничений целостности с помощью ALTER TABLE. См. Лаб2 для ознакомления с ограничениями целостности.
table_constraint Добавляет или изменяет ограничения целостности таблицы.
MODIFY modify_column_options Модифицирует определение существующего столбца. Если вы опускаете любую из составляющих определения столбца (тип данных, значение по умолчанию, ограничение столбца), то она остается без изменения. · Вы можете изменить CHAR на VARCHAR2 (или VARCHAR) и VARCHAR2 (или VARCHAR) на CHAR только если столбец содержит NULL во всех строках или если при такой модификации не происходит изменение размера столбца. · Вы можете изменить тип любого столбца или уменьшить размер столбца, если столбец содержит значения NULL для всех строк. · Вы всегда можете увеличить размер строковых столбцов или точность числовых столбцов не зависимо от того, имеются ли значения такого столбца в строках таблицы.
column Имя добавляемого или модифицируемого столбца. Единственным типом ограничения целостности, которое вы можете добавить к существующему столбцу с помощью фразы MODIFY с использованием синтаксиса ограничения целостности столбца, является ограничение NOT NULL, и только если столбец содержит значения NULL. Для определения ограничений целостности других типов (UNIQUE, PRIMARY KEY, референциальная целостность и CHECK) к существующим столбцам, используйте фразу ADD в синтаксисе ограничения целостности таблицы.
datatype Указывает новый тип данных существующего столбца. Вы можете опустить тип данного только если в предложении указывается, что столбец входит в состав внешнего ключа референциального ограничения целостности. Oracle автоматически присвоит столбцу тип, имеющийся у столбца, на который делается ссылка в референциальном ограничении целостности.
DEFAULT Указывается новое значение по умолчанию для существующего столбца. Oracle будет присваивать это значение столбцу, если последующие предложения INSERT не будут содержать значения для указанного столбца. Если вы добавили новый столбец в таблицу с указанием значения по умолчанию, Oracle вставит указанное значение по умолчанию во все строки таблицы. Тип данных значения по умолчанию должен соответствовать типу данных столбца. Столбец также должен иметь достаточный размер, чтобы содержать значение по умолчанию. Выражение при фразе DEFAULT не может ссылаться на другие столбцы.
drop_constraint_clause Удаляет ограничение целостности из базы данных. Oracle деактивирует такое ограничение и удаляет его из каталога данных. В одной фразе drop_constraint_clause вы можете указать одно ограничение, однако в одном предложении обновления можно воспользоваться многими фразами drop_constraint_clauses. PRIMARY KEY удаляет ограничение PRIMARY KEY таблицы UNIQUE удаляет ограничение UNIQUE для указанных столбцов CONSTRAINT удаляет ограничение целостности с указанным именем CASCADE удаляет все другие ограничения целостности, которые зависят от удаляемого ограничения Вы не можете удалить ограничения UNIQUE или PRIMARY KEY, которые являются частью референциального ограничения целостности без удаления внешнего ключа. Для удаления ключа, на который делается ссылка, и внешнего ключа используйте фразу CASCADE. Если вы не воспользуйтесь фразой CASCADE, Oracle не удалит ограничение PRIMARY KEY или UNIQUE для того столбца, на который делается ссылка из внешнего ключа.
drop_column_clause Позволяет освободить память базы данных путем удаления ненужных столбцов или путем отметки их как не используемые с последующим удалением, когда буде не хватать памяти.
SET UNUSED Отмечает один или несколько столбцов как не используемые. При этом столбцы реально не удаляются и команда выполняется намного быстрее по сравнению с использованием фразы DROP. Не используемые столбцы трактуются как удаленные, хотя их данные остаются в строках таблицы. После отметки столбцов в качестве не используемых к ним нельзя будет получить доступ. Запросы типа "SELECT *" не будут отыскивать данных из не используемых столбцов. Кроме того, имена и типы столбцов, отмеченных как не используемые, не будут воспроизводиться по команде DESCRIBE, и вы можете добавлять к таблице столбцы с именами не используемых столбцов.
DROP Удаляет описание столбца и связанные с ним данные из всех строк таблицы. Если вы явно указали удалить конкретный столбец, то также будут удалены все те столбцы, которые были отмечены как не используемые. Когда удаляются данные столбца: · Удаляются все индексы, определенные на нем. · Удаляются все ограничения целостности, ссылающиеся на этот столбец. Примечание: Если ограничение целостности также ссылается на столбец, который не удаляется, Oracle возвращает ошибку и не удаляет указанный столбец, если не указана фраза CASCADE CONSTRAINTS. Если эта фраза указана, Oracle удаляет все ограничения, ссылающиеся на удаляемый столбец.
DROP UNUSED COLUMNS   Удаляет из таблицы все те столбцы, которые отмечены как не используемые. Используйте эту фразу, если хотите освободить память диска. Если таблица не содержит таких столбцов, то предложение завершает работу без какого-либо сообщения об ошибке.
column Указывается один или несколько столбцов, которые должны быть либо отмечены как не используемые, либо удалены. Используйте клюбчевое слово COLUMN только если указывается один столбец. Если указывается список столбцов, то он не должен содержать дубликатов.
CASCADE CONSTRAINTS Удаляет все референциальные ограничения целостности, которые ссылаются удаляемые столбцы, а также все те ограничения, которые охватывают удаляемые столбцы. Если любое из ограничений ссылается на удаляемый столбец из другого столбца той же таблицы или другой, то необходимо указать CASCADE CONSTRAINTS. В противном случае предложение не будет выполнено и будет выдано соответствующее сообщение.
INVALIDATE Примечание: В текущей версии Oracle выполняет эту фразу не зависимо от того, указано ли ключевое слово INVALIDATE. Oracle делает не действительными все зависимые объекты, такие как виртуальные таблицы, триггеры, хранимые процедуры и функции. Эта процедура является рекурсивной. Поэтому становятся не действительными все зависимые непосредственно и опосредственно объекты. Объект, который стал не действительным в результате этого предложения, автоматически становится действительным при следующем обращении к нему. В этот момент вы должны будете исправить все возникшие в нем ошибки, чтобы иметь возможность последующей работы с ним..
DROP COLUMNS CONTINUE Продолжает операцию удаления столбца с той точки, в которой она была прервана.
         

При изменении определения столбца вы можете только увеличить размер существующего столбца, если таблица не содержит строк. Вы также можете уменьшить размер столбца, если таблица пустая. Для столбцов типа CHAR, увеличение размера столбца может потребовать слишком много времени, особенно если таблица содержит много строк. Это обусловлено тем, что значения типа CHAR должны быть расширены пробелами в конце, чтобы удовлетворить требования нового размера..

Если вы изменяете тип данных (например, с VARCHAR2 на CHAR), то данные в столбце не изменяются. Однако, длина значений новых столбцов CHAR может быть изменена в связи с добавлением пробелов в конце.

Изменение таблицы имеет следующие последствия:

Если новый столбец добавляется, то его значения первоначально становятся NULL. Вы можете добавить столбец с ограничением NOT NULL, если таблица еще не содержит сток.

Если виртуальная таблица или программа PL/SQL зависит от базовой таблицы, то изменения в базовой таблице могут привести к тому, что зависимый от нее объект становится не действительным.





Дата публикования: 2014-12-28; Прочитано: 221 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...