Create table with SMO

Once you are connected to SQL Server 2005 with a SMO connection, you can start manage and create object. Here is an example on how you can create a table with a promary key (this sample is written in C# and use a beta version of SQL Server 2005 and of the .Net Framework 2.0).

The Object sqlserver, is the object created after the connection in this post about smo connection

Of course, In order to connect to SQL Server using SMO you have to reference the following namespace (and the corresponding assembly):

using

Microsoft.SqlServer.Management.Smo;

using

Microsoft.SqlServer.Management.Smo.Agent;

using

Microsoft.SqlServer.Management.Common;

 

And the code to create the table is :

Table tbl;

Column col;

Index idx;

tbl =

new Table(sqlserver.database, "MyTable");

col =

new Column(tbl, "MyCol1", DataType.Int);

tbl.Columns.Add(col);

col.Nullable =

false;

// Add the primary key index

idx =

new Index(tbl, "PK_MyTable");

tbl.Indexes.Add(idx);

idx.IndexedColumns.Add(

new IndexedColumn(idx, col.Name));

idx.IsClustered =

true;

idx.IsUnique =

true;

idx.IndexKeyType = IndexKeyType.DriPrimaryKey;

col =

new Column(tbl, "myCol2", DataType.SmallInt);

tbl.Columns.Add(col);

col.Nullable =

false;

// Create the table

tbl.Create();