ForeignKeyConstraint.DeleteRule Propiedad
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Obtiene o establece la acción que se produce en esta restricción cuando se elimina una fila.
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
Valor de propiedad
Uno de los valores de Rule. De manera predeterminada, es Cascade
.
- Atributos
Ejemplos
En el ejemplo siguiente se crea un ForeignKeyConstraint, se establecen varias de sus propiedades y se agregan a DataTableConstraintCollection.
' 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
Comentarios
Cuando se elimina una fila de una tabla primaria, determina DeleteRule lo que ocurrirá en las columnas de la tabla secundaria (o tablas). Si la regla se establece Cascade
en , se eliminarán las filas secundarias.
Si se establece SetNull
en , se colocará en DBNull
las columnas adecuadas de las filas afectadas. En función del origen de datos, puede o no permitirse un valor NULL en una columna. Por ejemplo, SQL Server permite que se encuentren varios valores NULL en una columna de clave principal, aunque no sean únicos. Sin embargo, en un DataTable, si la propiedad de Unique un DataColumn objeto está establecida true
en , no se permiten varios valores NULL en las columnas de clave principal.
Si se establece en SetDefault
, se asigna el valor predeterminado de la columna.