다음을 통해 공유


연습: Northwind Customers 테이블의 업데이트 저장 프로시저 만들기

일부 도움말 항목에는 Visual Studio 문서 추가 저장된 프로시저는 Northwind 예제 데이터베이스에서 Customers 테이블의 데이터 업데이트 (삽입, 업데이트 및 삭제)를 수행 하는 데 필요 합니다.

이 연습에서는 이러한 추가 만들기 저장 프로시저를 Northwind 샘플 데이터베이스에 대 한 지침을 제공 합니다. SQL Server.

다음 단계 섹션 아래에 이러한 추가 저장된 프로시저를 사용 하는 방법을 보여 주는 항목의 링크를 제공 합니다.

이 연습을 통해 다음 작업을 수행하는 방법을 배웁니다.

  • 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. 확인을 클릭합니다.

    서버 탐색기/데이터베이스 탐색기에 데이터 연결이 추가됩니다.

저장 프로시저 만들기

제공 된 SQL 스크립트는 Northwind 데이터베이스에 대해 사용 하 여 실행 하 여 저장된 프로시저를 만들는 Visual Database Tools 에서 사용할 수 있는 서버 탐색기/데이터베이스 탐색기.

SQL 스크립트를 사용하여 저장 프로시저를 만들려면

  1. 서버 탐색기/데이터베이스 탐색기에서 Northwind 데이터베이스를 확장합니다.

  2. 마우스는 저장 프로시저 클릭 한 노드의 새 저장 프로시저 추가.

  3. 다음 코드를 코드 편집기에 붙여 넣습니다. 대체는 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
    
  4. 코드 편집기의 모든 텍스트를 선택 하 고 선택한 텍스트를 마우스 오른쪽 단추로 클릭 선택 영역 실행.

    SelectCustomers, InsertCustomers, UpdateCustomers, 및 DeleteCustomers Northwind 데이터베이스에 대해 저장된 프로시저를 만들 합니다.

다음 단계

저장된 프로시저를 만든 후에 다음이를 사용 하는 방법을 보여 주는 연습을 시도해 보십시오.

How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes

Walkthrough: Creating LINQ to SQL Classes with the O/R Designer

Walkthrough: Customizing the Insert, Update, and Delete Behavior of Entity Classes

참고 항목

기타 리소스

Object Relational Designer (O/R Designer)

LINQ to SQL

Visual Studio에서 데이터 액세스