Column.IsPersisted プロパティ
Column オブジェクトの計算値をデータと共に保存することにより、列にアクセスするたびに計算が行われないようにするかどうかを示す Boolean プロパティ値を取得します。
名前空間: Microsoft.SqlServer.Management.Smo
アセンブリ: Microsoft.SqlServer.Smo (Microsoft.SqlServer.Smo.dll)
構文
'宣言
<SfcPropertyAttribute(SfcPropertyFlags.None Or SfcPropertyFlags.Standalone Or SfcPropertyFlags.SqlAzureDatabase Or SfcPropertyFlags.Design)> _
Public Property IsPersisted As Boolean
Get
Set
'使用
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)
プロパティ値
型: System.Boolean
Column オブジェクトの計算値をデータと共に保存するかどうかを示す Boolean プロパティ値です。 True の場合、Column オブジェクトの計算値はデータと共に保存されます。 False (既定値) の場合、Column オブジェクトの計算値は、列データが要求されるたびに計算されます。 IsPersisted プロパティは、計算列に対してのみ True に設定できます。それ以外に設定した場合は、エラーが発生します。
説明
次の例では、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);
}
}
次の例では、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
関連項目
参照
Microsoft.SqlServer.Management.Smo 名前空間