Sdílet prostřednictvím


ForeignKeyConstraint.DeleteRule Vlastnost

Definice

Získá nebo nastaví akci, která se vyskytuje v rámci tohoto omezení při odstranění řádku.

public:
 virtual property System::Data::Rule DeleteRule { System::Data::Rule get(); void set(System::Data::Rule value); };
public virtual System.Data.Rule DeleteRule { get; set; }
[System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")]
public virtual System.Data.Rule DeleteRule { get; set; }
member this.DeleteRule : System.Data.Rule with get, set
[<System.Data.DataSysDescription("ForeignKeyConstraintDeleteRuleDescr")>]
member this.DeleteRule : System.Data.Rule with get, set
Public Overridable Property DeleteRule As Rule

Hodnota vlastnosti

Jedna z Rule hodnot. Výchozí hodnota je Cascade.

Atributy

Příklady

Následující příklad vytvoří ForeignKeyConstraint, nastaví různé jeho vlastnosti a přidá ho do DataTable objektu ConstraintCollection.

' The next line goes into the Declarations section of the module:
' SuppliersProducts is a class derived from DataSet.
Private suppliersProducts As SuppliersProducts 

Private Sub CreateConstraint()
   ' Declare parent column and child column variables.
   Dim parentColumn As DataColumn
   Dim childColumn As DataColumn
   Dim fkConstraint As ForeignKeyConstraint

   ' Set parent and child column variables.
   parentColumn = suppliersProducts.Tables("Suppliers").Columns("SupplierID")
   childColumn = suppliersProducts.Tables("Products").Columns("SupplieriD")
   fkConstraint = New ForeignKeyConstraint( _
       "SuppierFKConstraint", parentColumn, childColumn)

   ' Set null values when a value is deleted.
   fkConstraint.DeleteRule = Rule.SetNull
   fkConstraint.UpdateRule = Rule.Cascade
   fkConstraint.AcceptRejectRule = AcceptRejectRule.Cascade

   ' Add the constraint, and set EnforceConstraints to true.
   suppliersProducts.Tables("Suppliers").Constraints.Add(fkConstraint)
   suppliersProducts.EnforceConstraints = True
End Sub

Poznámky

Když je řádek odstraněn z nadřazené tabulky, určuje, DeleteRule co se stane ve sloupcích podřízené tabulky (nebo tabulek). Pokud je pravidlo nastavené na Cascade, budou odstraněny podřízené řádky.

Pokud je nastavená hodnota SetNull, DBNull umístí se do příslušných sloupců ovlivněných řádků. V závislosti na zdroji dat může nebo nemusí být ve sloupci povolená hodnota null. SQL Server například umožňuje nalezení více hodnot null ve sloupci primárního klíče, i když nejsou jedinečné. Pokud je však vlastnost objektu DataTableDataColumnUnique nastavena na true, více hodnot null nejsou povoleny ve sloupcích primárního klíče.

Pokud je nastavená hodnota SetDefault, přiřadí se výchozí hodnota sloupce.

Platí pro