Sdílet prostřednictvím


Úprava sloupců

platí pro: SQL Server 2016 (13.x) a novější Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Datový typ sloupce v SQL Serveru můžete upravit pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL.

Varování

Úprava datového typu sloupce, který již obsahuje data, může způsobit trvalou ztrátu dat při převodu existujících dat na nový typ. Kromě toho může selhat kód a aplikace, které závisí na upraveném sloupci. Patří mezi ně dotazy, zobrazení, uložené procedury, uživatelem definované funkce a klientské aplikace. Tato selhání budou kaskádovitá. Například uložená procedura, která volá uživatelem definovanou funkci, která závisí na upraveném sloupci, může selhat. Před vytvořením sloupce pečlivě zvažte všechny změny, které chcete provést.

Dovolení

Vyžaduje oprávnění ALTER pro tabulku.

Použití aplikace SQL Server Management Studio (SSMS)

Úprava datového typu sloupce pomocí SSMS

  1. V Průzkumník objektůklikněte pravým tlačítkem na tabulku se sloupci, u kterých chcete změnit velikost, a vyberte Návrh.

  2. Vyberte sloupec, pro který chcete upravit datový typ.

  3. Na kartě Vlastnosti sloupce vyberte pole tabulky pro vlastnost Datový typ a v rozevíracím seznamu vyberte nový datový typ.

  4. V nabídce Soubor vyberte Uložitnázev tabulky.

Poznámka

Při úpravě datového typu sloupce použije Návrhář tabulky výchozí délku vybraného datového typu, i když jste již zadali jinou. Po zadání datového typu vždy nastavte délku datového typu na požadovanou hodnotu.

Varování

Pokud se pokusíte upravit datový typ sloupce, který souvisí s jinými tabulkami, Návrhář tabulky vás požádá, abyste potvrdili, že by se změna měla provést i u sloupců v ostatních tabulkách.

Použijte Transact-SQL

Úprava datového typu sloupce pomocí Transact-SQL

  1. V Průzkumníku objektůpřipojte se k instanci databázového stroje.

  2. Na panelu Standard vyberte Nový dotaz.

  3. Zkopírujte a vložte následující příklad do okna dotazu a vyberte Spustit.

    CREATE TABLE dbo.doc_exy (column_a INT );  
    GO  
    INSERT INTO dbo.doc_exy (column_a) VALUES (10);  
    GO  
    ALTER TABLE dbo.doc_exy ALTER COLUMN column_a DECIMAL (5, 2);  
    GO  
    

Další informace o použití ALTER TABLE ke změně sloupců naleznete v tématu ALTER TABLE column_definition.

Další krok