다음을 통해 공유


테이블 생성, 변경 및 제거

SQL Server Management Objects(SMO)에서 테이블은 Table 개체로 표시됩니다. SMO 개체 계층 구조에서 Table 개체는 Database 개체 아래에 있습니다.

제공된 코드 예제를 사용하려면 응용 프로그램을 만들 프로그래밍 환경, 템플릿 및 언어를 선택해야 합니다. 자세한 내용은 Visual Studio .NET에서 Visual Basic SMO 프로젝트 만들기 또는 Visual Studio .NET에서 Visual C# SMO 프로젝트 만들기를 참조하십시오.

Visual Basic에서 테이블 생성, 변경 및 제거

이 코드 예제는 서로 다른 유형과 용도의 여러 열이 있는 테이블을 만듭니다. 또한 ID 필드를 만드는 방법, 기본 키를 만드는 방법, 테이블 속성을 변경하는 방법에 대한 예를 제공합니다.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2012 2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2012")
'Define a Table object variable by supplying the parent database and table name in the constructor. 
Dim tb As Table
tb = New Table(db, "Test_Table")
'Add various columns to the table.
Dim col1 As Column
col1 = New Column(tb, "Name", DataType.NChar(50))
col1.Collation = "Latin1_General_CI_AS"
col1.Nullable = True
tb.Columns.Add(col1)
Dim col2 As Column
col2 = New Column(tb, "ID", DataType.Int)
col2.Identity = True
col2.IdentitySeed = 1
col2.IdentityIncrement = 1
tb.Columns.Add(col2)
Dim col3 As Column
col3 = New Column(tb, "Value", DataType.Real)
tb.Columns.Add(col3)
Dim col4 As Column
col4 = New Column(tb, "Date", DataType.DateTime)
col4.Nullable = False
tb.Columns.Add(col4)
'Create the table on the instance of SQL Server.
tb.Create()
'Add another column.
Dim col5 As Column
col5 = New Column(tb, "ExpiryDate", DataType.DateTime)
col5.Nullable = False
tb.Columns.Add(col5)
'Run the Alter method to make the change on the instance of SQL Server.
tb.Alter()
'Remove the table from the database.

tb.Drop()

Visual C#에서 테이블 생성, 변경 및 제거

이 코드 예제는 서로 다른 유형과 용도의 여러 열이 있는 테이블을 만듭니다. 또한 ID 필드를 만드는 방법, 기본 키를 만드는 방법, 테이블 속성을 변경하는 방법에 대한 예를 제공합니다.

{
            //Connect to the local, default instance of SQL Server. 
        Server srv; 
        srv = new Server(); 
        //Reference the AdventureWorks2012 database. 
        Database db; 
        db = srv.Databases["AdventureWorks2012"]; 
        //Define a Table object variable by supplying the parent database and table name in the constructor. 
        Table tb; 
        tb = new Table(db, "Test_Table"); 
        //Add various columns to the table. 
        Column col1; 
        col1 = new Column(tb, "Name", DataType.NChar(50)); 
        col1.Collation = "Latin1_General_CI_AS"; 
        col1.Nullable = true; 
        tb.Columns.Add(col1); 
        Column col2; 
        col2 = new Column(tb, "ID", DataType.Int); 
        col2.Identity = true; 
        col2.IdentitySeed = 1; 
        col2.IdentityIncrement = 1; 
        tb.Columns.Add(col2); 
        Column col3; 
        col3 = new Column(tb, "Value", DataType.Real); 
        tb.Columns.Add(col3); 
        Column col4; 
        col4 = new Column(tb, "Date", DataType.DateTime); 
        col4.Nullable = false; 
        tb.Columns.Add(col4); 
        //Create the table on the instance of SQL Server. 
        tb.Create(); 
        //Add another column. 
        Column col5; 
        col5 = new Column(tb, "ExpiryDate", DataType.DateTime); 
        col5.Nullable = false; 
        tb.Columns.Add(col5); 
        //Run the Alter method to make the change on the instance of SQL Server. 
        tb.Alter(); 
        //Remove the table from the database. 
        tb.Drop(); 
        }

PowerShell에서 테이블 생성, 변경 및 제거

이 코드 예제는 서로 다른 유형과 용도의 여러 열이 있는 테이블을 만듭니다. 또한 ID 필드를 만드는 방법, 기본 키를 만드는 방법, 테이블 속성을 변경하는 방법에 대한 예를 제공합니다.

#Load the assembly containing the objects used in this example
[reflection.assembly]::LoadWithPartialName("Microsoft.SqlServer.Types")

# Set the path context to the local, default instance of SQL Server.
CD \sql\localhost\default\Databases\

#And the database object corresponding to AdventureWorks2012.
$db = get-item AdventureWorks2012

#Create a SMO Table
$tb = New-Object -TypeName Microsoft.SqlServer.Management.SMO.Table -argumentlist $db, "Test_Table"

#Add various columns to the table. 
$Type = [Microsoft.SqlServer.Management.SMO.DataType]::NChar(50)
$col1 =  New-Object -TypeName Microsoft.SqlServer.Management.SMO.Column -argumentlist $tb,"Name", $Type
$col1.Collation = "Latin1_General_CI_AS"
$col1.Nullable = $true
$tb.Columns.Add($col1)

$Type = [Microsoft.SqlServer.Management.SMO.DataType]::Int
$col2 =  New-Object -TypeName Microsoft.SqlServer.Management.SMO.Column -argumentlist $tb,"ID", $Type
$col2.Identity = $true
$col2.IdentitySeed = 1
$col2.IdentityIncrement = 1
$tb.Columns.Add($col2) 

$Type = [Microsoft.SqlServer.Management.SMO.DataType]::Real
$col3 =  New-Object -TypeName Microsoft.SqlServer.Management.SMO.Column -argumentlist $tb,"Value", $Type
$tb.Columns.Add($col3) 

$Type = [Microsoft.SqlServer.Management.SMO.DataType]::DateTime
$col4 =  New-Object -TypeName Microsoft.SqlServer.Management.SMO.Column -argumentlist $tb,"Date", $Type
$col4.Nullable = $false
$tb.Columns.Add($col4) 

#Create the table
$tb.Create()

$Type = [Microsoft.SqlServer.Management.SMO.DataType]::DateTime
$col5 =  New-Object -TypeName Microsoft.SqlServer.Management.SMO.Column -argumentlist $tb,"ExpiryDate", $Type
$col5.Nullable = $false
$tb.Columns.Add($col5) 

#Run the Alter method to make the change on the instance of SQL Server. 
$tb.Alter()

#Remove the table from the database. 
$tb.Drop()

참고 항목

참조

Table