Галерея
7757 8119 8300 8698 8817 9504 9722 9937
Интересные записи
Топовые новости
Новое

Модификация параметров столбца идентичности

Модификация параметров столбца идентичностиСуществует возможность изменить параметры столбца идентичности. Предположим, что создана таблица PAYMENT_TERMS со столбцом идентичности PAYTERMS_ID_N (см. главу 4). Следующая инструкция изменит параметры столбца идентичности так, чтобы после достижения максимального значения 500 значение в цикле возвращалось к 100.Аназаметку Выполнение этой инструкции завершится неудачей, если payment_id_n не создавался как столбец идентичности. Для добавления столбца в инструкции ALTER TABLE используется тот же синтаксис, что и для создания столбца в инструкции CREATE TABLE. При этом также могут быть указаны порядок сопоставления, значения по умолчанию, свойства идентичности и ограничения. Следующая инструкция добавляет в таблицу PHONE два новых столбца. Модификация существующих столбцов Правила модификации существующих столбцов в Microsoft SQL Server отличаются от действующих в DB2 и Oracle. К примеру, невозможно изменить тип данных столбца, на котором основано ограничение, или задать для него значение по умолчанию. Также не удастся изменить столбцы с типами данных TEXT, NTEXT, IMAGE и TIMESTAMP. Существуют и некоторые другие ограничения; более подробно о них можно прочитать в документации к СУБД. В то же время, в отличие от Oracle, можно уменьшить размер столбца, правда, только в том случае, если все существующие данные вписываются в новый размер и от данного столбца не зависят никакие другие объекты базы данных. К примеру, Microsoft SQL Server разрешит уменьшить размер столбца PHONE_TYPE_S c VARCHAR(2 0) до VARCHAR(10) и даже до VAR — CHAR(5), поскольку самая длинная строка, хранимая в этом поле, имеет длину всего в пять символов. В то же время СУБД вернет ошибку при попытке уменьшить размер этого столбца до 4 символов. Microsoft SQL Server аналогично ведет себя и с числовыми столбцами. Существует возможность уменьшить масштаб, однако только до размера самого большого числа в столбце. Следующая инструкция изменит тип данных столбца ORDLINE_ORDQTY_N с INTEGER на NU — MERIC(3). Однако попытка изменения типа на NUMERIC(2) завершится неудачей, поскольку самые большие числа в этом столбце могут превышать 100.