共用方式為


逐步解說:建立 Northwind Customers 資料表的預存程序

更新:2011 年 4 月

此逐步解說示範如何在 Northwind 範例資料庫中建立四個預存程序。 這些預存程序可讓您在資料庫中選取、插入、更新和刪除客戶。

<後續步驟>一節中有示範如何使用這些預存程序的主題連結。

必要條件

若要完成這個逐步解說,您將需要:

連接到 Northwind 資料庫

在建立預存程序之前,您必須連接至 SQL Server 版本的 Northwind 資料庫。 下列程序將說明如何建立資料連接。

注意事項注意事項

如果您已經有 Northwind 資料庫的資料連接,可以直接前往下一節建立預存程序

建立與 Northwind SQL Server 資料庫的資料連接

  1. 按一下 [檢視] 功能表上的 [伺服器總管/資料庫總管]。

  2. 以滑鼠右鍵按一下 [資料連接],然後按一下 [加入連接]。

  3. 在 [選擇資料來源] 對話方塊中按一下 [Microsoft SQL Server],再按一下 [確定]。

    如果 [加入連接] 對話方塊開啟,而 [資料來源] 不是 [Microsoft SQL Server (SqlClient)],請按一下 [變更] 以開啟 [選擇/變更資料來源] 對話方塊,然後按一下 [Microsoft SQL Server],再按一下 [確定]。 如需詳細資訊,請參閱選擇/變更資料來源對話方塊

  4. 按一下下拉式清單中的 [伺服器名稱],或輸入 Northwind 資料庫所在的伺服器名稱。

  5. 請根據資料庫或應用程式的需求,按一下 [使用 Windows 驗證] 或使用特定的使用者名稱及密碼,登入執行 SQL Server ([SQL Server 驗證]) 的電腦。 如需詳細資訊,請參閱新增/修改連接 (Microsoft SQL Server)

  6. 按一下 [選取或輸入資料庫名稱] 清單中的 Northwind 資料庫。

  7. 按一下 [確定]。

    資料連接會加入至 [伺服器總管] 或 [資料庫總管]。

建立預存程序

使用 [伺服器總管]/[資料庫總管] 中的 Visual Database Tools,建立預存程序。

若要使用 SQL 指令碼建立預存程序

  1. 在 [伺服器總管] 或 [資料庫總管] 中展開 Northwind 資料庫。

  2. 執行下列工作來定義 SelectCustomers 預存程序:

    1. 以滑鼠右鍵按一下 [預存程序] 節點,然後按一下 [加入新的預存程序]。

    2. 以下列程式碼取代 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
      
    3. 儲存此程序。

    4. SelectCustomers 預存程序就會加入至 Northwind 資料庫。 請注意,儲存時程序定義會從 CREATE PROCEDURE 變更為 ALTER PROCEDURE。

  3. 執行下列工作來定義 InsertCustomers 預存程序:

    1. 以滑鼠右鍵按一下 [預存程序] 節點,然後按一下 [加入新的預存程序]。

    2. 以下列程式碼取代 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)
      
    3. 儲存此程序。

    4. InsertCustomers 預存程序就會加入至 Northwind 資料庫。 請注意,儲存時程序定義會從 CREATE PROCEDURE 變更為 ALTER PROCEDURE。

  4. 執行下列工作來定義 UpdateCustomers 預存程序:

    1. 以滑鼠右鍵按一下 [預存程序] 節點,然後按一下 [加入新的預存程序]。

    2. 以下列程式碼取代 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)
      
    3. 儲存此程序。

    4. UpdateCustomers 預存程序就會加入至 Northwind 資料庫。 請注意,儲存時程序定義會從 CREATE PROCEDURE 變更為 ALTER PROCEDURE。

  5. 執行下列工作來定義 DeleteCustomers 預存程序:

    1. 以滑鼠右鍵按一下 [預存程序] 節點,然後按一下 [加入新的預存程序]。

    2. 以下列程式碼取代 CREATE PROCEDURE 範本:

      CREATE PROCEDURE dbo.DeleteCustomers
      (
          @Original_CustomerID nchar(5)
      )
      AS
          SET NOCOUNT OFF;
      DELETE FROM [dbo].[Customers] WHERE (([CustomerID] = @Original_CustomerID))
      
    3. 儲存此程序。

    4. DeleteCustomers 預存程序就會加入至 Northwind 資料庫。 請注意,儲存時程序定義會從 CREATE PROCEDURE 變更為 ALTER PROCEDURE。

後續步驟

下列逐步解說示範如何使用剛建立的預存程序:

HOW TO:指派預存程序來執行更新、插入和刪除 (O/R 設計工具)

逐步解說:建立 LINQ to SQL 類別 (O/R 設計工具)

逐步解說:自訂實體類別的插入、更新和刪除行為

注意事項注意事項

如果您要重複此逐步解說,必須先刪除已定義的預存程序。 否則您會看到錯誤:資料庫已經有一個名為 'ProcedureName' 的物件。

請參閱

其他資源

物件關聯式設計工具 (O/R 設計工具)

LINQ to SQL

存取 Visual Studio 中的資料

變更記錄

日期

記錄

原因

2011 年 4 月

更正建立預存程序步驟的錯誤。

客戶回函。