Dela via


Ändra främmande nyckelrelationer

gäller för: SQL Server 2016 (13.x) och senare versioner Azure SQL DatabaseAzure SQL Managed InstanceSQL-databas i Microsoft Fabric

Du kan ändra sekundärnyckelsidan för en relation i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. När du ändrar en tabells sekundärnyckel ändras vilka kolumner som är relaterade till kolumner i primärnyckeltabellen.

i det här avsnittet

Innan du börjar

Begränsningar och restriktioner

Den nya sekundärnyckelkolumnen måste matcha datatypen och storleken på den primära nyckelkolumn som den relaterar till, med följande undantag:

  • En char kolumn eller sysname kolumn kan relatera till en varchar kolumn.

  • En binär kolumn kan relatera till en kolumn.

  • En aliasdatatyp kan relatera till dess bastyp.

Säkerhet

Behörigheter

Kräver ALTER-behörighet på tabellen.

Använda SQL Server Management Studio

Ändra en främmande nyckel

  1. I Object Explorer, expandera tabellen med den främmande nyckeln och expandera sedan Nycklar.

  2. Högerklicka på den främmande nyckel som ska ändras och välj Ändra.

  3. I dialogrutan Utländska nyckelrelationer kan du göra följande ändringar.

    vald relation
    Visar en lista över befintliga relationer. Välj en relation för att visa dess egenskaper i rutnätet till höger. Om listan är tom har inga relationer definierats för tabellen.

    Lägg till
    Skapa en ny relation. Specifikationerna för tabeller och kolumner måste anges innan relationen blir giltig.

    Ta bort
    Ta bort den markerade relationen i listan Markerade relationer. Om du vill avbryta tillägget av en relation använder du den här knappen för att ta bort relationen.

    allmän kategori
    Expandera för att visa kontroll av befintliga data vid skapandet eller återaktiveringen av tabeller och kolumner enligt specifikationer ,, och.

    kontrollera befintliga data vid skapande eller återaktivering av
    Kontrollera alla befintliga data i tabellen innan begränsningen skapades eller återaktiverades, mot villkoret.

    Tabeller och Kolumnspecifikationer Kategori
    Klicka för att expandera och visa vilka kolumner och tabeller som funkar som främmande nyckel och primär (eller unik) nyckel i relationen. Om du vill redigera eller definiera dessa värden klickar du på ellipsknappen (...) till höger om egenskapsfältet.

    grundtabell för främmande nyckel
    Visar vilken tabell som innehåller kolumnen som fungerar som en sekundärnyckel i den valda relationen.

    Främmande nyckelkolumner
    Visar vilken kolumn som fungerar som en främmande nyckel i den valda relationen.

    Primär/Unik Nyckelbas-tabell
    Visar vilken tabell som innehåller kolumnen som fungerar som en primär (eller unik) nyckel i den valda relationen.

    primära/unika nyckelkolumner
    Visar vilken kolumn som fungerar som en primär (eller unik) nyckel i den valda relationen.

    identitetskategori
    Expandera om du vill visa egenskapsfälten för Name och Description.

    Namn
    Visar namnet på relationen. När en ny relation skapas får den ett standardnamn baserat på tabellen i det aktiva fönstret i Table Designer. Du kan ändra namnet när som helst.

    Beskrivning
    Beskriv relationen. Om du vill skriva en mer detaljerad beskrivning klickar du på Beskrivning och klickar sedan på ellipsen (...) som visas till höger om egenskapsfältet. Detta ger ett större område där du kan skriva text.

    Tabelldesignerkategori
    Expandera för att visa information för Kontrollera befintliga data vid skapande eller återaktivering av och Tillämpa för replikering.

    Tillämpa för replikering
    Anger om villkoret ska tillämpas när en replikeringsagent utför en infogning, uppdatering eller borttagning i den här tabellen.

    tillämpa referensnyckelbegränsning
    Ange om ändringar tillåts till data för kolumnerna i relationen om dessa ändringar skulle påverka integriteten negativt för utrikesnyckelrelationen. Välj Ja om du inte vill tillåta sådana ändringar och välj Nej om du vill tillåta dem.

    INSERT- och UPDATE-specifikationskategori
    Expandera för att visa information för Borttagningsregel och Uppdatera regel för relationen.

    Ta bort regel
    Ange vad som händer om en användare försöker ta bort en rad med data som ingår i en sekundärnyckelrelation:

    • Ingen åtgärd Ett felmeddelande meddelar användaren att borttagningen inte är tillåten och att DELETE återställs.

    • Cascade Tar bort alla rader som innehåller data relaterad till en främmande nyckelrelation. Ange inte CASCADE om tabellen ska ingå i en sammanslagningspublikation som använder logiska poster.

    • Ange Null Anger värdet till null om alla sekundärnyckelkolumner för tabellen kan acceptera null-värden.

    • Ange standard Anger värdet till det standardvärde som definierats för kolumnen om alla främmande nyckel-kolumner för tabellen har standardvärden definierade för sig.

    Uppdateringsregel
    Ange vad som händer om en användare försöker uppdatera en rad med data som ingår i en sekundärnyckelrelation:

    • Ingen åtgärd Ett felmeddelande meddelar användaren att uppdateringen inte är tillåten och att UPPDATERINGEN återställs.

    • Cascade Uppdaterar alla rader som innehåller data som ingår i sekundärnyckelrelationen. Ange inte CASCADE om tabellen ska ingå i en sammanslagningspublikation som använder logiska poster.

    • Ange Null Anger värdet till null om alla sekundärnyckelkolumner för tabellen kan acceptera null-värden.

    • Ange standard Anger värdet till det standardvärde som definieras för kolumnen om alla sekundärnyckelkolumner för tabellen har definierats som standard.

  4. På menyn Arkiv klickar du på Sparatabellnamn.

Använda Transact-SQL

Ändra en extern nyckel

Om du vill ändra en FOREIGN KEY-begränsning med hjälp av Transact-SQL måste du först ta bort den befintliga foreign key-begränsningen och sedan återskapa den med den nya definitionen. Mer information finns i Ta bort sekundärnyckelrelationer och Skapa sekundärnyckelrelationer.