연습: Northwind Customers 테이블의 업데이트 저장 프로시저 만들기
업데이트: 2007년 11월
Visual Studio 설명서의 일부 도움말 항목에는 Customers 테이블의 데이터를 업데이트(삽입, 업데이트 및 삭제)하는 데 Northwind 샘플 데이터베이스의 추가 저장 프로시저가 필요합니다.
이 연습에서는 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 저장 프로시저가 만들어집니다.
다음 단계
이제 저장 프로시저를 만들었으므로 다음 연습을 통해 이를 사용하는 방법을 배웁니다.
방법: 저장 프로시저를 할당하여 업데이트, 삽입 및 삭제 수행(O/R 디자이너)
연습: LINQ to SQL 클래스 만들기(O/R 디자이너)
연습: 엔터티 클래스의 삽입, 업데이트 및 삭제 동작 사용자 지정