русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Модификация столбца


Дата добавления: 2015-07-09; просмотров: 685; Нарушение авторских прав


Синтаксис команды:

ALTER TABLE <имя таблицы>

ALTER COLUMN <имя столбца> <новый тип данных> <длина>

[DEFAULT <значение>]

[NULL|NOT NULL] [,…n];

SQL Server не разрешает изменять столбцы типа text, ntext, image, rowversion, вычисляемые столбцы, столбцы, используемые в репликации, и столбцы, на которые имеются ссылки в выражениях вычисляемых столбцов или ограничений. Нельзя удалить или изменить столбец, имеющий значение по умолчанию (ограничение DEFAULT). Однако можно увеличить размер столбцов переменой длины, которые используются в индексах, в ограничениях CHECK или UNIQUE.

Пример 35

Задача.

Увеличить ширину столбца NameGroup, увеличив ее до 20 символов.

Решение.

ALTER TABLE SGroup

ALTER COLUMN NameGroup VARCHAR(20)

The command(s) completed successfully.

Однако если теперь сделать попытку вернуться к предыдущему размеру столбца, то она будет неудачной, поскольку столбец имеет ограничение UNIQUE.

Пример 36

Задача.

Уменьшить размер столбца NameGroup до 15 символов (предполагается, что ранее она была увеличена до 20 символов).

Решение.

ALTER TABLE SGroup

ALTER COLUMN NameGroup VARCHAR(15)

На этот раз будет диагностирована ошибка.

Server: Msg 5074, The object 'SgroupNameGroupUnique' is dependent on column 'NameGroup'.

Server: Msg 4922, ALTER TABLE ALTER COLUMN NameGroup failed because one or more objects access this column.

Если столбец все-таки необходимо изменить, то сначала следует удалить ограничение SgroupNameGroupUnique,

ALTER TABLE SGroup

DROP CONSTRAINT SgroupNameGroupUnique

Затем уменьшить ширину столбца.

ALTER TABLE SGroup

ALTER COLUMN NameGroup VARCHAR(15)

(2 row(s) affected)

Задание 10

Добавить в таблицу Student столбец Single, тип данных VARCHAR(3), назначив значение по умолчанию “Да”. Удалить столбец.



Задание 11

Добавить в таблицу Student столбец AVGMark, тип Numeric (5,2). В столбце будет храниться средняя оценка студента. Мы оставим этот столбец в базе данных лишь для того, чтобы в дальнейшем продемонстрировать с помощью него работу некоторых команд и процедур, написание которых как раз и будет обусловлено наличием этого избыточного столбца. Отсюда вывод - такие столбцы, содержащие расчетные данные, полученные на основании уже хранящихся в таблице данных, не следует включать в таблицы.

Задание 12

Изменить длины полей в соответствии с таблицей (см. Таблица 11). Выполнить анализ - почему не удалось выполнить заданные операции с некоторыми столбцами? Что необходимо предпринять, чтобы эти изменения всё же произвести?

Таблица 11

Имя поля Тип поля Размер Ограничения
IDReport Varchar  
NameWork Varchar  
NameSubject Varchar  
DateHire Smalldatetime    
Mark Numeric NULL
DeptName Varchar NULL
NRecordBook Varchar  
NTerm Numeric  
NameReport Varchar  
NameSubject Varchar  
PIN Varchar  
TeachPost Varchar NULL
Clock Numeric 5.2  
StName Varchar  
TeachName Varchar  


<== предыдущая лекция | следующая лекция ==>
Добавление столбца | Переименование таблицы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 1.682 сек.