ForeignKeyConstraint.DeleteRule Propriedade

Definição

Obtém ou define a ação que ocorre nessa restrição quando uma linha é excluída.

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 da propriedade

Um dos valores de Rule. O padrão é Cascade.

Atributos

Exemplos

O exemplo a seguir cria um ForeignKeyConstraint, define várias de suas propriedades e o adiciona a um DataTable objeto 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

Comentários

Quando uma linha é excluída de uma tabela pai, o DeleteRule determina o que acontecerá nas colunas da tabela filho (ou tabelas). Se a regra estiver definida como Cascade, as linhas filho serão excluídas.

Se definido como SetNull, um DBNull será colocado nas colunas apropriadas das linhas afetadas. Dependendo da fonte de dados, um valor nulo pode ou não ser permitido em uma coluna. Por exemplo, SQL Server permite que vários valores nulos sejam encontrados em uma coluna de chave primária, mesmo que não sejam exclusivos. Em um DataTable, no entanto, se a propriedade de Unique um DataColumn objeto for definida como true, vários valores nulos não serão permitidos em colunas de chave primária.

Se definido como SetDefault, o valor padrão da coluna será atribuído.

Aplica-se a