Propriedade do RDL IsPersisted
Obtém o valor da propriedade Booliana que especifica se o valor computado do objeto Column é salvo com os dados, evitando uma computação a cada vez que a coluna é acessada.
Namespace: Microsoft.SqlServer.Management.Smo
Assembly: Microsoft.SqlServer.Smo (em Microsoft.SqlServer.Smo.dll)
Sintaxe
'Declaração
<SfcPropertyAttribute(SfcPropertyFlags.None Or SfcPropertyFlags.Standalone Or SfcPropertyFlags.SqlAzureDatabase Or SfcPropertyFlags.Design)> _
Public Property IsPersisted As Boolean
Get
Set
'Uso
Dim instance As Column
Dim value As Boolean
value = instance.IsPersisted
instance.IsPersisted = value
[SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase|SfcPropertyFlags.Design)]
public bool IsPersisted { get; set; }
[SfcPropertyAttribute(SfcPropertyFlags::None|SfcPropertyFlags::Standalone|SfcPropertyFlags::SqlAzureDatabase|SfcPropertyFlags::Design)]
public:
property bool IsPersisted {
bool get ();
void set (bool value);
}
[<SfcPropertyAttribute(SfcPropertyFlags.None|SfcPropertyFlags.Standalone|SfcPropertyFlags.SqlAzureDatabase|SfcPropertyFlags.Design)>]
member IsPersisted : bool with get, set
function get IsPersisted () : boolean
function set IsPersisted (value : boolean)
Valor da propriedade
Tipo: System. . :: . .Boolean
Um valor de propriedade Booliana que especifica se o valor computado do objeto Column é salvo com os dados.
Se True, o valor computado do objeto Column será salvo com os dados.
Se False (padrão), o valor computado do objeto Column será computado toda vez que os dados de coluna forem solicitados.
A propriedade IsPersisted pode ser definida apenas como True para colunas computadas. Caso contrário, ocorrerá um erro.
Comentários
The following example shows how to use feature in C#:
// compile with: /r:Microsoft.SqlServer.Smo.dll /r:Microsoft.SqlServer.ConnectionInfo.dll /r:Microsoft.SqlServer.Management.Sdk.Sfc.dll
using System;
using Microsoft.SqlServer.Management.Smo;
public class A {
public static void Main() {
Server svr = new Server();
Database db = new Database(svr, "TestDB");
db.Create();
Table tab1 = new Table(db, "Table1");
Column col1 = new Column(tab1, "Col1", DataType.Int);
// Computed column
Column col2 = new Column(tab1, "Col2", DataType.Int);
col2.Computed = true;
col2.ComputedText = "col1 * 2";
// Persisted Computed Column
Column col3 = new Column(tab1, "Col3", DataType.Int);
col3.Computed = true;
col3.ComputedText = "col1 * 3";
// allows the computed column to persist with table data
col3.IsPersisted = true;
tab1.Columns.Add(col1);
tab1.Columns.Add(col2);
tab1.Columns.Add(col3);
tab1.Create();
// default value of IsPersisted for computed column is false
Console.WriteLine(col2.Name + " Computed = " + col2.Computed + " Persisted = " + col2.IsPersisted);
Console.WriteLine(col3.Name + " Computed = " + col3.Computed + " Persisted = " + col3.IsPersisted);
}
}
The following example shows how to use feature in Visual Basic:
' compile with: /r:Microsoft.SqlServer.Smo.dll /r:Microsoft.SqlServer.ConnectionInfo.dll /r:Microsoft.SqlServer.Management.Sdk.Sfc.dll
Imports Microsoft.SqlServer.Management.Smo
Public Class A
Public Shared Sub Main()
Dim svr As New Server()
Dim db As New Database(svr, "TestDB")
db.Create()
Dim tab1 As New Table(db, "Table1")
Dim col1 As New Column(tab1, "Col1", DataType.Int)
' Computed column
Dim col2 As New Column(tab1, "Col2", DataType.Int)
col2.Computed = True
col2.ComputedText = "col1 * 2"
' Persisted Computed Column
Dim col3 As New Column(tab1, "Col3", DataType.Int)
col3.Computed = True
col3.ComputedText = "col1 * 3"
' allows the computed column to persist with table data
col3.IsPersisted = True
tab1.Columns.Add(col1)
tab1.Columns.Add(col2)
tab1.Columns.Add(col3)
tab1.Create()
' default value of IsPersisted for computed column is false
Console.WriteLine((col2.Name & " Computed = " & col2.Computed & " Persisted = ") & col2.IsPersisted)
Console.WriteLine((col3.Name & " Computed = " & col3.Computed & " Persisted = ") & col3.IsPersisted)
End Sub
End Class
Consulte também