ForeignKeyConstraint.DeleteRule Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.