DataBase/MS SQL

Procedure 프로시저 정리

Godffs 2011. 7. 12. 18:48
반응형
Procedure 란?
- 저장 프로시저는 하나 이상으로 구성된 Transact-SQL 문을 데이터베이스에 저장하는 개체
- 한번 정의한 내용 다시 재사용 가능
- 프로시저 

프로시저 종류
- sub프러시저 ,Function프러시저

참고 - http://blog.pages.kr/41



말보다는 예제가 편하겠죠. 기본 프로시저 입니다.

Create
 PROCEDURE SP_WRITE(프로시저 이름)
( @매개변수 타입)
AS
    (구문)
GO

또는 

Create PROC  SP_WRITE(프로시저 이름) 
( @매개변수 타입)
AS
    (구문)
GO

프로시저 이름을 만들어주실때 앞에 구분을 지어주시면 쉽게 알아볼수 있겠네요.  저는 stored Procedure 약자를 사용했습니다.
 

stored Procedure란? 
 
Stored procedure[스토어드 프로시저]는 DBMS에서 데이터베이스 서버와 함께 저장되어 있는 연산을 말하며, 일반적으로 SQL로 작성된다. 클라이언트/서버 시스템에서는 특히 중요한데, 그 이유는 서버 측에 프로시저를 저장한다는 것은 모든 클라이언트에서 그것을 사용할 수 있다는 것을 의미하기 때문이다. SQL 프로시저가 데이터베이스에 저장되면, 각 클라이언트마다 그것을 복사할 필요가 없게 된다. 그리고 프로시저가 수정되었을 때, 모든 클라이언트는 자동으로 새로운 버전을 가지게 된다.
Stored procedure는 특히, 서로다른 클라이언트 사용자 인터페이스들과 개발 시스템이 사용되었을 때 프로그래밍 노력을 절감시켜준다.

출처 :  
 http://terms.co.kr/storedprocedure.htm



입력 프로시저
Create Proc SP_Write
(
    @ID          VARCHAR(50),
    @NAME  VARCHAR(50)
)
AS
    INSERT INTO TABLE_1 VALUES(@ID, @NAME)

-> 호출 : exec SP_Write @ID=N'ID_1', @NAME=N'NAME_1'
 


출력 프로시저
Create Proc SP_List
AS
    Begin
           Select *From TABLE_1
    End

-> 호출 : exec SP_List


수정 프로시저
Create Proc SP_UPDATE
(
    @ID          VARCHAR(50),
    @NAME  VARCHAR(50)
)
AS
    Update TABLE_1
    Set
          NAME = @NAME
    Where
          ID = @ID

-> 호출 : exec SP_UPDATE @NAME=N'1_NAME', @ID=N'ID_1'


삭제 프로시저
Create Proc SP_DELETE
(
    @ID          VARCHAR(50)
)
AS
    Delete From TABLE_1 Where ID = @ID

-> 호출 : exec SP_DELETE @ID=N'ID_1'


검색 프로시저
Create Proc SP_SEARCH
(
    @ID          VARCHAR(50)
)
AS
    Select *From TABLE_1 Where ID LIKE '%' + @ID + '%'

-> 호출 : exec SP_SEARCH @ID=N'ID_1'


상세 프로시저
Create Proc SP_VIEW
(
    @ID          VARCHAR(50)
)
AS
    Select *From TABLE_1 Where ID = @ID

-> 호출 : exec SP_VIEW @ID=N'ID_1'

끝~


반응형