演练:为 Northwind Customers 表创建存储过程
更新:2011 年 4 月
本演练演示如何在 Northwind 示例数据库中创建四个存储过程。 存储过程允许您在数据库中选择、插入、更新和删除客户。
“后续步骤”一节具有演示如何使用这些存储过程的主题链接。
系统必备
若要完成本演练,您需要:
- 访问 Northwind 示例数据库的 SQL Server 版本。 有关更多信息,请参见如何:安装示例数据库。
连接到 Northwind 数据库
创建存储过程之前,必须连接到 Northwind 数据库的 SQL Server 版本。 以下过程演示如何创建数据连接。
提示
如果您已经具有到 Northwind 数据库的数据连接,则可以进入下一节:创建存储过程。
创建到 Northwind SQL Server 数据库的数据连接
在**“视图”菜单上单击“服务器资源管理器”/“数据库资源管理器”**。
右击**“数据连接”,然后单击“添加连接”**。
在**“选择数据源”对话框中,单击“Microsoft SQL Server”,然后单击“确定”**。
如果**“添加连接”对话框打开了,但“数据源”却不是“Microsoft SQL Server (SqlClient)”,则请单击“更改”以打开“选择/更改数据源”对话框,接着单击“Microsoft SQL Server”,然后单击“确定”**。 有关更多信息,请参见“选择/更改数据源”对话框。
在下拉列表中单击**“服务器名称”**,或键入 Northwind 数据库所在的服务器的名称。
根据数据库或应用程序的要求,单击**“使用 Windows 身份验证”,或者使用特定的用户名和密码登录到运行 SQL Server 的计算机(“SQL Server 身份验证”**)。 有关更多信息,请参见添加/修改连接 (Microsoft SQL Server)。
在**“选择或输入一个数据库名”**列表中单击 Northwind 数据库。
单击**“确定”**。
该数据连接就会添加到**“服务器资源管理器”/“数据库资源管理器”**中。
创建存储过程
使用**“服务器资源管理器”/“数据库资源管理器”**中提供的 Visual Database Tools创建存储过程。
使用 SQL 脚本创建存储过程
在**“服务器资源管理器”/“数据库资源管理器”**中,展开 Northwind 数据库。
通过执行以下任务来定义 SelectCustomers 存储过程:
右击**“存储过程”节点,然后单击“添加新存储过程”**。
使用下面的代码替换 CREATE PROCEDURE 模板:
CREATE PROCEDURE dbo.[SelectCustomers] AS SET NOCOUNT ON; SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM dbo.Customers
保存该过程。
SelectCustomers 存储过程将添加到 Northwind 数据库。 请注意,保存后,过程定义会从 CREATE PROCEDURE 更改为 ALTER PROCEDURE。
通过执行以下任务来定义 InsertCustomers 存储过程:
右击**“存储过程”节点,然后单击“添加新存储过程”**。
使用下面的代码替换 CREATE PROCEDURE 模板:
CREATE PROCEDURE dbo.InsertCustomers ( @CustomerID nchar(5), @CompanyName nvarchar(40), @ContactName nvarchar(30), @ContactTitle nvarchar(30), @Address nvarchar(60), @City nvarchar(15), @Region nvarchar(15), @PostalCode nvarchar(10), @Country nvarchar(15), @Phone nvarchar(24), @Fax nvarchar(24) ) AS SET NOCOUNT OFF; INSERT INTO [dbo].[Customers] ([CustomerID], [CompanyName], [ContactName], [ContactTitle], [Address], [City], [Region], [PostalCode], [Country], [Phone], [Fax]) VALUES (@CustomerID, @CompanyName, @ContactName, @ContactTitle, @Address, @City, @Region, @PostalCode, @Country, @Phone, @Fax); SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE (CustomerID = @CustomerID)
保存该过程。
InsertCustomers 存储过程将添加到 Northwind 数据库。 请注意,保存后,过程定义会从 CREATE PROCEDURE 更改为 ALTER PROCEDURE。
通过执行以下任务来定义 UpdateCustomers 存储过程:
右击**“存储过程”节点,然后单击“添加新存储过程”**。
使用下面的代码替换 CREATE PROCEDURE 模板:
CREATE PROCEDURE dbo.UpdateCustomers ( @CustomerID nchar(5), @CompanyName nvarchar(40), @ContactName nvarchar(30), @ContactTitle nvarchar(30), @Address nvarchar(60), @City nvarchar(15), @Region nvarchar(15), @PostalCode nvarchar(10), @Country nvarchar(15), @Phone nvarchar(24), @Fax nvarchar(24), @Original_CustomerID nchar(5) ) AS SET NOCOUNT OFF; UPDATE [dbo].[Customers] SET [CustomerID] = @CustomerID, [CompanyName] = @CompanyName, [ContactName] = @ContactName, [ContactTitle] = @ContactTitle, [Address] = @Address, [City] = @City, [Region] = @Region, [PostalCode] = @PostalCode, [Country] = @Country, [Phone] = @Phone, [Fax] = @Fax WHERE (([CustomerID] = @Original_CustomerID)); SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM Customers WHERE (CustomerID = @CustomerID)
保存该过程。
UpdateCustomers 存储过程将添加到 Northwind 数据库。 请注意,保存后,过程定义会从 CREATE PROCEDURE 更改为 ALTER PROCEDURE。
通过执行以下任务来定义 DeleteCustomers 存储过程:
右击**“存储过程”节点,然后单击“添加新存储过程”**。
使用下面的代码替换 CREATE PROCEDURE 模板:
CREATE PROCEDURE dbo.DeleteCustomers ( @Original_CustomerID nchar(5) ) AS SET NOCOUNT OFF; DELETE FROM [dbo].[Customers] WHERE (([CustomerID] = @Original_CustomerID))
保存该过程。
DeleteCustomers 存储过程将添加到 Northwind 数据库。 请注意,保存后,过程定义会从 CREATE PROCEDURE 更改为 ALTER PROCEDURE。
后续步骤
以下演练演示如何使用刚才创建的存储过程:
提示
如果要重复本演练,必须先删除您定义的存储过程。 否则,您将看到以下错误:数据库中已存在名为“过程名称”的对象。
请参见
其他资源
修订记录
日期 |
修订记录 |
原因 |
---|---|---|
2011 年 4 月 |
更正了创建存储过程步骤中的错误。 |
客户反馈 |