1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu Create, Modify, and Delete Tables docx

7 225 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Create, modify, and delete tables
Định dạng
Số trang 7
Dung lượng 30,61 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Technique To perform these tasks, you will use the CREATE TABLE, ALTER TABLE, and DROP TABLE T-SQL statements.. Creating a Table Using CREATE TABLE With the CREATE TABLE statement, not

Trang 1

6.6 Create, Modify, and Delete Tables

It is common in database applications to programmatically create, modify, and delete tables How do I do this using T-SQL?

Technique

To perform these tasks, you will use the CREATE TABLE, ALTER TABLE, and DROP TABLE T-SQL statements With these statements, you can handle any requirements that your application might have Look at these statements one at a time

Creating a Table Using CREATE TABLE

With the CREATE TABLE statement, not only can you specify columns and their data types, but you also can specify indexes, check constraints, and other table level

properties For this How-To, you will be use the following T-SQL statement:

CREATE TABLE ListsExample

(

ListID smallint IDENTITY(1, 1) PRIMARY KEY CLUSTERED,

LastName varchar(50) NOT NULL,

FirstName varchar(50) NOT NULL,

Age smallint ,

DateEntered datetime NOT NULL DEFAULT GetDate()

CHECK (DateEntered <= GetDate())

)

This statement shows how to perform a number of different tasks:

1 Specify the name of the table:

2 CREATE TABLE ListsExample

3 Create an Identity column, which is the primary key:

4 ListID smallint IDENTITY(1, 1) PRIMARY KEY CLUSTERED,

5 Create fields that can't be NULL, and using different data types:

6 LastName varchar(50) NOT NULL,

7 FirstName varchar(50) NOT NULL,

8 Age smallint ,

9 Create a field with the Default Value set, and with a Check Constraint specified

10 DateEntered datetime NOT NULL DEFAULT GetDate()

11 CHECK (DateEntered <= GetDate())

Modifying a Table Using ALTER TABLE

Trang 2

The example T-SQL statement used for modifying the table in this How-To is pretty simple in that it adds a column and removes (drops) a column:

ALTER TABLE ListsExample ADD MyNewColumn varchar(30)

ALTER TABLE ListsExample DROP COLUMN Age

You can perform quite a few other tasks with this statement You can even see by the syntax displayed here that you can handle many tasks, including dropping constraints ALTER TABLE table

{ [ ALTER COLUMN column_name

{ new_data_type [ ( precision [ , scale ] ) ]

[ COLLATE < collation_name > ]

[ NULL | NOT NULL ]

| {ADD | DROP } ROWGUIDCOL }

]

| ADD

{ [ < column_definition > ]

| column_name AS computed_column_expression

} [ , n ]

| [ WITH CHECK | WITH NOCHECK ] ADD

{ < table_constraint > } [ , n ]

| DROP

{ [ CONSTRAINT ] constraint_name

| COLUMN column } [ , n ]

| { CHECK | NOCHECK } CONSTRAINT

{ ALL | constraint_name [ , n ] }

| { ENABLE | DISABLE } TRIGGER

{ ALL | trigger_name [ , n ] }

}

You can do even more Look at the Books Online for SQL Server to see complete coverage of this statement

Deleting a Table Using the DROP TABLE Statement

This statement is the easiest, and it's a one liner:

DROP TABLE ListsExample

However, you need to keep some things in mind when you are trying to drop a table:

Trang 3

• You can't use the DROP TABLE statement when the table is used in a relationship

and is referenced in the FOREIGN KEY constraint You will need to drop the other table or the constraint

• You will need to be the administrator or owner of the table to be able to use the

DROP TABLE statement

• You can't use the DROP TABLE statement on system tables

Steps

Open and run the Visual Basic NET-Chapter 6 solution From the main form, click on the button with the caption How-To 6.6 (see Figure 6.7)

1 Create a Windows Form Then place the controls listed in Table 6.6 with the following properties set, as displayed in Figures 6.7

Table 6.6 Control Property Settings for This How-To Object Property Setting

Label Text SQL Statement to Create a Table Label Name lblCreateTable

Button Name btnCreateTable Text Create Table Label Text SQL Statement to Modify a Table Label Name lblModifyTable

Button Name btnModifyTable Text Modify Table Label Text SQL Statement to Delete a Table Label Name lblDeleteTable

Button Name btnDeleteTable Text Delete Table

2 Add the code in Listing 6.11 to the Load event of the form (Double-click on the form to bring up the code.) This routine creates the SQL statements for all three tasks and assigns them to the appropriate label for display

Trang 4

Listing 6.11 frmHowTo6_6.vb: Loading the SQL Statements into the

Appropriate Labels

Private Sub frmHowTo6_6_Load(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MyBase.Load

' Build the SQL String for Creating a Table

Dim strSQL As String

strSQL = "CREATE TABLE ListsExample" & vbCrLf

strSQL &= "(" & vbCrLf

strSQL &= " ListID smallint IDENTITY(1, 1) " & _

"PRIMARY KEY CLUSTERED," & vbCrLf

strSQL &= " LastName varchar(50) NOT NULL, " & vbCrLf

strSQL &= " FirstName varchar(50) NOT NULL, " & vbCrLf

strSQL &= " Age smallint , " & vbCrLf

strSQL &= " DateEntered datetime NOT NULL DEFAULT GetDate() " & vbCrLf

strSQL &= " CHECK (DateEntered <= GetDate())" & vbCrLf

strSQL &= ")"

Me.lblCreateTable.Text = strSQL

strSQL = "ALTER TABLE ListsExample ADD MyNewColumn varchar(30)

" & vbCrLf

strSQL &= "ALTER TABLE ListsExample DROP COLUMN Age"

Me.lblModifyTable.Text = strSQL

strSQL = "DROP TABLE ListsExample"

Me.lblDeleteTable.Text = strSQL

End Sub

3 Add the code in Listing 6.12 to the Click event of the btnCreateTable button This routine calls the function PerformTask(), passing the text in the lblCreateTable label PerformTask() is described in the next step If you perform the task

successfully, then a message box is displayed letting you know that all went as it should have

Listing 6.12 frmHowTo6_6.vb: Calling PerformTask() from the

btnCreateTable Click Event

Trang 5

Private Sub btnCreateTable_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnCreateTable.Click

If PerformTask(Me.lblCreateTable.Text) Then

MessageBox.Show("Table Created Successfully, " & _

_Look for ListsExample " &

"Table in Northwind Database in Server Explorer", _

"Action Performed")

End If

End Sub

4 In the class module of the form created for this How-To, create the code displayed

in Listing 6.13 for the PerformTask() function This code creates a Connection object Next, create a Command object that is based on the string passed in

strSQL Open the connection and execute the command Notice that the execution

of the command has been wrapped in the Try Catch End Try code block to make sure the command is executed correctly; if it's not, a message is displayed

Listing 6.13 frmHowTo6_6.vb: Executing the SQL Statement Passed in Using strSQL

Function PerformTask(ByVal strSQL As String) As Boolean

Dim cnn As New OleDb.OleDbConnection(BuildCnnStr("(local)",

"Northwind"))

Dim cmdAction As New OleDb.OleDbCommand(strSQL)

cmdAction.Connection = cnn

cnn.Open()

PerformTask = True

Try

cmdAction.ExecuteNonQuery()

Catch excp As Exception

MessageBox.Show(excp.Message, "Error with Action")

Trang 6

PerformTask = False

End Try

cnn.Close()

End Function

5 Add the code snippets in Listing 6.14 to the appropriate Click events for

btnModifyTable and btnDeleteTable to the Load event of the form

Listing 6.14 frmHowTo6_6.vb: Calling PerformTask from btnModifyTable and btnDeleteTable Click Events

Private Sub btnModifyTable_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btnModifyTable.Click

If PerformTask(Me.lblModifyTable.Text) Then

MessageBox.Show("Table Modified Successfully, " & _

Look for ListsExample " &

"Table in Northwind Database in Server Explorer", _

"Action Performed")

End If

End Sub

Private Sub btnDeleteTable_Click(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnDeleteTable.Click

If PerformTask(Me.lblDeleteTable.Text) Then

MessageBox.Show("Table Deleted Successfully, " & _

"Look for ListsExample " &

"Table in Northwind Database in Server Explorer", _

"Action Performed")

End If

End Sub

Figure 6.7 A common problem with inner joins is retrieving multiple records when

you just want to see one per occurrence

Trang 7

Comments

You don't have to add, modify, and delete tables manually Just make sure that you back

up your data before performing these tasks

Ngày đăng: 26/01/2014, 11:20

TỪ KHÓA LIÊN QUAN

w