Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Изтриване на колони в MS SQL Server

Командата, която търсите е:

alter table tblName drop column columnName

където tblName е името на таблицата и columnName е името на колоната, но има няколко неща, които може да се наложи да направите първо.

  • Ако има препратки към колоната с външен ключ, първо трябва да се отървете от тях.
  • Ако има индекс, използващ тази колона, ще трябва или да се отървете от него, или да го коригирате така, че да не използва тази колона.

Имайте предвид, че изпълнението на тази команда може да не е непременно добро. Една от опциите е да изчакате период на прекъсване, когато можете да сте сигурни, че никой няма да има достъп до базата данни, да преименувате текущата таблица и след това да използвате create table и insert into ... select from за да прехвърлите колоните, които не искате да бъдат изтрити.

Една от по-късните версии на Oracle всъщност има меко изтриване, което може просто да маркира колона като неизползвана, без да я премахва физически. Има същия ефект, тъй като вече не можете да го препращате и има команда по линия на alter table ... drop unused columns който е предназначен да работи в тихо време, което върши тежката работа по действителното му физическо премахване.

Това има предимството да "изчезват" колоните веднага, без да намаляват производителността на базата данни по време на натоварено време.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. имейл с база данни с прикачен файл (файл в Excel / pdf файл)?

  2. Неуспешно влизане за потребител „NT AUTHORITY\NETWORK SERVICE“

  3. Операторът Datetime BETWEEN не работи в SQL Server

  4. Как да нулирате стойността на колоната за идентичност в таблицата на SQL Server - SQL Server / T-SQL урок, част 43

  5. Конкатна стойност на полето към низ в SQL Server