понедельник, 11 апреля 2011 г.

Переименовать таблицу или колонку

Парочка мелких вещей в SQL, которые меня слегка удивили.
  • В БД при изменении имени таблиц все constraints автоматически подстраиваются под это изменение. То есть никаких ошибок не возникнет (входит в стандарт и работает на абсолютном большинстве БД).
    ALTER TABLE MyTable RENAME TO MY_TABLE;
    
  • Но Oracle пошёл и того дальше. Он умеет даже переименовывать колонки. При этом даже если это Primary Key. Даже если на колонку навешены другие индексы, даже если на неё ссылается Foreign Key из другой таблицы. К сожалению, эта фишка не из стандарта, поэтому в других БД может и не быть (в MySQL нет, например).
    ALTER TABLE MyTable RENAME COLUMN id TO identifier;
    

Комментариев нет:

Отправить комментарий