演练:为 Northwind Customers 表创建更新存储过程
更新:2007 年 11 月
Visual Studio 文档中的某些帮助主题需要 Northwind 示例数据库中的用于执行 Customers 表中数据更新(插入、更新和删除)的附加存储过程。
本演练提供有关如何在 SQL Server 的 Northwind 示例数据库中创建这些附加存储过程的说明。
本主题后面的“后续步骤”一节提供演示如何使用这些附加存储过程的主题的链接。
在本演练中,您将学习如何执行以下任务:
创建到 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,通过对 Northwind 数据库运行所提供的 SQL 脚本来创建存储过程。
使用 SQL 脚本创建存储过程
在“服务器资源管理器”/“数据库资源管理器”中,展开 Northwind 数据库。
右击“存储过程”节点,然后单击“添加新存储过程”。
将以下代码粘贴到代码编辑器中,并替换 CREATE PROCEDURE 模板:
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'SelectCustomers' AND user_name(uid) = 'dbo') DROP PROCEDURE dbo.[SelectCustomers] GO CREATE PROCEDURE dbo.[SelectCustomers] AS SET NOCOUNT ON; SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax FROM dbo.Customers GO IF EXISTS (SELECT * FROM sysobjects WHERE name = 'InsertCustomers' AND user_name(uid) = 'dbo') DROP PROCEDURE dbo.InsertCustomers GO 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) GO IF EXISTS (SELECT * FROM sysobjects WHERE name = 'UpdateCustomers' AND user_name(uid) = 'dbo') DROP PROCEDURE dbo.UpdateCustomers GO 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) GO IF EXISTS (SELECT * FROM sysobjects WHERE name = 'DeleteCustomers' AND user_name(uid) = 'dbo') DROP PROCEDURE dbo.DeleteCustomers GO CREATE PROCEDURE dbo.DeleteCustomers ( @Original_CustomerID nchar(5) ) AS SET NOCOUNT OFF; DELETE FROM [dbo].[Customers] WHERE (([CustomerID] = @Original_CustomerID)) GO
选择代码编辑器中的所有文本,右击选定的文本,然后单击“运行选定内容”。
即可为 Northwind 数据库创建 SelectCustomers、InsertCustomers、UpdateCustomers 和 DeleteCustomers 存储过程。
后续步骤
现在您已经创建了存储过程,请尝试下面的演示如何使用这些过程的演练: