sql >> Databáze >  >> RDS >> Sqlserver

Mazání sloupců v MS SQL Server

Příkaz, který hledáte, je:

alter table tblName drop column columnName

kde tblName je název tabulky a columnName je název sloupce, ale je tu několik věcí, které možná budete muset udělat jako první.

  • Pokud ke sloupci existují nějaké odkazy na cizí klíč, budete se jich muset nejprve zbavit.
  • Pokud existuje index využívající tento sloupec, budete se ho muset buď zbavit, nebo jej upravit tak, aby tento sloupec nepoužíval.

Mějte na paměti, že výkon tohoto příkazu nemusí být nutně dobrý. Jednou z možností je počkat na dobu odstávky, kdy si můžete být jisti, že k databázi nikdo nebude přistupovat, přejmenovat aktuální tabulku a poté použít create table a insert into ... select from pro přenos sloupců, které nechcete smazat.

Jedna z pozdějších verzí Oracle má ve skutečnosti měkké odstranění, které může pouze označit sloupec jako nepoužitý, aniž by bylo fyzicky odstraněno. Má to stejný účinek, protože na něj již nelze odkazovat a je zde příkaz ve smyslu alter table ... drop unused columns který má být spuštěn v tichém čase, který dělá těžkou práci ve skutečném fyzickém odstranění.

To má tu výhodu, že sloupce okamžitě „zmizí“, aniž by došlo ke snížení výkonu databáze během rušných časů.



  1. Zkontrolujte dva datum nebylo mezi dvěma dalším datem + MYSQl

  2. Jak vytvořit jazykové soubory Codeigniter z databáze?

  3. jak uložit hodnotu zaškrtávacího políčka do databáze mysql pomocí php

  4. jak vytvořit vztah cizího klíče na fyzicky distribuovaných datech?