다음을 통해 공유


IsPersisted 속성

열에 액세스할 때마다 계산할 필요 없도록 Column 개체의 계산 값이 데이터와 함께 저장되는지 여부를 지정하는 부울 속성 값을 가져옵니다.

네임스페이스:  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 개체의 계산 값이 데이터와 함께 저장되는지 여부를 지정하는 부울 속성 값입니다.
True 이면 Column 개체의 계산 값이 데이터와 함께 저장되고,
False (기본값)이면 Column 개체의 계산 값이 열 데이터가 요청될 때마다 계산됩니다.
계산 열의 경우 IsPersisted 속성을 True로만 설정할 수 있습니다. 그렇지 않으면 오류가 발생합니다.

주의

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