sub_title
 ASP.NET
제   목 저장 프로시저 만들기
작성자 아침마당 등록일 2010-09-28 09:47:19 조회수 4,787

저장 프로시저는 SQL 서버에서 실행되는 SQL문을 모아놓은 함수라고 할 수 있다.

저장 프로시저를 이용하는 이유는 SQL 문을 서버에서 직접 실행하고 컴파일 하므로 좀 더 빠른 속도를 낼 수 있기 때문이다.

저장 프로시저 만드는 방법은 다음과 같다.

먼저 SQL Server 2008 Management Studio를 실행을 하고 프로시저를 실행하고자 하는 데이타베이스를 선택을 하고, 프로그래밍 기능을 클릭하면 저장 프로시저가 보인다. 여기사 저장 프로시저를 선택을 하고 마우스 오른쪽 버튼을 누르면 새 저장 프로시저가 있다. 그리고 나서 다음과 같이 작성 후 저장을 하면 해당 데이타베이스에 저장이 된다.

CREATE PROCEDURE 프로시저 이름

인자1,

인자2

...

AS

BEGIN

실행하는 SQL 문

...

END

여기서 PROCEDURE 대신 PROC라고 해도 된다.

저장 프로시저 만드는 예는 다음과 같다.

먼저 매개변수가 없는 예이다.

CREATE PROCEDURE usp_GetList

AS

SELECT * FROM 테이블명; --> 실행문이 1줄인 경우 BEGIN문과 END문을 생략할 수 있다.

이를 SQL 서버에서 실행할 때는 EXECUTE나 EXEC usp_GetList 라고 입력하면 된다.

만약 스크립트 문의 첫번째 행이 저장 프로시저 문을 실행하는 구문이라고 하면 EXECUTE나 EXEC를 생략할 수 있다.

즉 usp_GetList라고 입력하면 된다.

 

입력 매개변수 있는 저장 프로시저 예이다.

입력 매개변수는 변수명 앞에 @을 추가한다. 그리고 변수명 다음에 데이터 형을 입력한다.

CREATE PRPCEDURE usp_Input

@sbno char(10),

@sbname char(20),

@sbemail char(50)

AS

INSERT INTO 테이블명 (sbno, sbname, sbemail) VALUES (@sbno, @sbname, @sbemail);

실행하는 예이다.

EXEC usp_Input '1234', '홍길도', 'hong@naver.com';

 

출력 매개변수 있는 저장 프로시저 예이다.

출력 매개변수는 변수명 앞에 @을 추가하고, 변수명 다음에 데이터 형과 OUTPUT 이라는 명령어를 명시해야 한다.

CREATE PROC usp_Output

@umax smallint OUTPUT

AS

SELECT @umax = max(최대값을구하는열) FROM 테이블;

실행하는 예이다.

DECLARE @maxvalue smallint;

EXEC usp_Output @umax = @maxvalue OUTPUT;

SELECT * FROM 테이블명 WHERE 구하고자하는 열 = @maxvalue;

 
1
    
 
0
        list
 
※ 짧은 댓글일수록 예의를 갖추어 작성해 주시기 바랍니다.
line
reply cancel
 
번호 제목 글쓴이 추천 조회 날짜
29  ASP.NET에서 Gridview 내용을 Excel로 export하기   member 아침마당 2 / 0 9967 2010-11-01
28  ASP.NET에서 메일 보내기   member 아침마당 0 / 0 5634 2010-10-26
27  문자열 변수 = 문자열 변수 + 정수형 변수   member 아침마당 0 / 0 3311 2010-10-21
26  출력 매개변수를 갖는 저장 프로시저 ASP.NET에서 사용하기   member 아침마당 0 / 0 8151 2010-10-04
25  ASP.NET에서 저장 프로시저 사용하기   member 아침마당 2 / 0 9813 2010-09-30
24  저장 프로시저 만들기   member 아침마당 1 / 0 4787 2010-09-28
23  Visual Studio 2010 단축키 요약 파일 첨부파일   member 아침마당 0 / 0 5080 2010-09-07
22  ASP.NET에서 예외 처리에 대해서   member 아침마당 0 / 0 4580 2010-08-29
21  답변형 게시판 예제 파일   member 아침마당 1 / 0 3258 2010-08-22
20  리스트 컨트롤과 컬렉션에 대해서   member 아침마당 1 / 0 6119 2010-08-17
19  데이터 바인딩과 배열에 대해서   member 아침마당 0 / 0 3929 2010-08-16
18  Gridview control에 TemplateField를 사용하는 이유   member 아침마당 1 / 1 4363 2010-08-12
17  C#의 제어문   member 아침마당 0 / 0 5009 2010-08-04
16  Windows SharePoint Services 3.0 도구에 대하여   member 아침마당 0 / 0 3328 2010-07-17
15  C#의 기본 규칙   member 아침마당 0 / 0 3682 2010-07-09
14  닷넷에서 DataSet 다루기   member 아침마당 0 / 0 24578 2010-06-21
13  ASP.NET에서 TextBox에 onfocus, onblur 이벤트 적용 예   member 아침마당 0 / 0 5414 2010-06-15
12  ASP.NET에서 TextBox 엔터키 적용과 주민 번호 검증 예   member 아침마당 0 / 0 5530 2010-06-15
11  ASP.NET 정수<-->문자열 형변환, 메시지출력, switch문 사용 예   member 아침마당 0 / 0 8063 2010-06-15
10  닷넷에서 XML 다루기 이미지 첨부파일   member 아침마당 1 / 0 5653 2010-06-07
9  데이터 그리드 안에 있는 컨트롤 이벤트 만들기   member 깐소금 0 / 0 5404 2007-11-18
8  로딩페이지 구현하기   member 깐소금 0 / 0 7008 2007-11-18
7  CDO객체를 이용하여 야후 smtp로 메일 보내기   member 먹깨비 0 / 0 4971 2007-11-15
6  C# 버블소트 알고리즘   member 웹스톤 0 / 0 4463 2007-11-14
5  @OutputCache 디렉티브를 사용한 페이지 성능 향상   member 먹깨비 0 / 0 6511 2007-09-17
write
[2] button