[ms sql server] 저장 프로시저 만들기

저장 프로시저 만들기

이 항목에서는 Transact-SQL 및 SQL Server Management Studio CREATE PROCEDURE 문을 사용하여 Transact-SQL 저장 프로시저를 만드는 방법에 대해 설명합니다.

사용 권한

데이터베이스의 CREATE PROCEDURE 권한과 프로시저를 만들 스키마에 대한 ALTER 권한이 필요합니다.

저장 프로시저를 만드는 방법

다음 중 하나를 사용할 수 있습니다.

SQL Server Management Studio 사용

개체 탐색기에서 프로시저를 만들려면

  1. 개체 탐색기에서 데이터베이스 엔진 의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.

  2. 데이터베이스를 확장하고 AdventureWorks2012 데이터베이스를 확장한 다음 프로그래밍 기능을 확장합니다.

  3. 저장 프로시저를 마우스 오른쪽 단추로 클릭한 다음 새 저장 프로시저를 클릭합니다.

  4. 쿼리 메뉴에서 템플릿 매개 변수 값 지정을 클릭합니다.

  5. 템플릿 매개 변수 값 지정 대화 상자에 표시된 매개 변수에 대해 다음 값을 입력합니다.

    매개 변수
    작성자 Your name
    만든 날짜 Today's date
    설명 Returns employee data
    Procedure_name HumanResources.uspGetEmployeesTest
    @Param1 @LastName
    @Datatype_For_Param1 nvarchar(50)
    Default_Value_For_Param1 NULL
    @Param2 @FirstName
    @Datatype_For_Param2 nvarchar(50)
    Default_Value_For_Param2 NULL
  6. 확인을 클릭합니다.

  7. 쿼리 편집기에서 SELECT 문을 다음 문으로 바꿉니다.

    SQL
    SELECT FirstName, LastName, Department  
    FROM HumanResources.vEmployeeDepartmentHistory  
    WHERE FirstName = @FirstName AND LastName = @LastName  
        AND EndDate IS NULL;  
    
  8. 구문을 테스트하려면 쿼리 메뉴에서 구문 분석을 클릭합니다. 오류 메시지가 반환되면 필요에 따라 위의 정보와 문을 비교하여 수정합니다.

    경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
    어린이용이며, 설치가 필요없는 브라우저 게임입니다.
    https://s1004games.com

  9. 프로시저를 만들려면 쿼리 메뉴에서 실행을 클릭합니다. 프로시저가 데이터베이스 개체로 만들어집니다.

  10. 개체 탐색기에 나열된 프로시저를 보려면 저장 프로시저 를 마우스 오른쪽 단추로 클릭하고 새로 고침을 선택합니다.

  11. 프로시저를 실행하려면 개체 탐색기에서 저장 프로시저 이름 HumanResources.uspGetEmployeesTest 를 마우스 오른쪽 단추로 클릭하고 저장 프로시저 실행을 선택합니다.

  12. 프로시저 실행 창에서 @LastName 매개 변수의 값으로 Margheim을 입력하고 @FirstName 매개 변수의 값으로 Diane을 입력합니다.

 경고

모든 사용자 입력에 대해 유효성을 검사합니다. 유효성 검사를 수행하기 전에는 사용자 입력을 연결하지 마세요. 유효성 검사가 수행되지 않은 사용자 입력으로부터 생성된 명령은 실행하지 마세요.

Transact-SQL 사용

쿼리 편집기에서 프로시저를 만들려면

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 메뉴에서 파일 메뉴에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 이 예에서는 다른 프로시저 이름을 사용하여 위와 같은 저장 프로시저를 만듭니다.

    USE AdventureWorks2012;  
    GO  
    CREATE PROCEDURE HumanResources.uspGetEmployeesTest2   
        @LastName nvarchar(50),   
        @FirstName nvarchar(50)   
    AS   
    
        SET NOCOUNT ON;  
        SELECT FirstName, LastName, Department  
        FROM HumanResources.vEmployeeDepartmentHistory  
        WHERE FirstName = @FirstName AND LastName = @LastName  
        AND EndDate IS NULL;  
    GO  
    
    
  4. 프로시저를 실행하려면 다음 예제를 새 쿼리 창에 복사하여 붙여 넣고 실행을 클릭합니다. 매개 변수 값을 지정하는 다른 메서드가 표시됩니다.

    EXECUTE HumanResources.uspGetEmployeesTest2 N'Ackerman', N'Pilar';  
    -- Or  
    EXEC HumanResources.uspGetEmployeesTest2 @LastName = N'Ackerman', @FirstName = N'Pilar';  
    GO  
    -- Or  
    EXECUTE HumanResources.uspGetEmployeesTest2 @FirstName = N'Pilar', @LastName = N'Ackerman';  
    GO  
    
    

참고 항목

CREATE PROCEDURE(Transact-SQL)

 

[출처] https://docs.microsoft.com/ko-kr/sql/relational-databases/stored-procedures/create-a-stored-procedure?view=sql-server-ver15

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 87253
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79445
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 96147
71 [oracle] GROUP BY 절과 HAVING 절 졸리운_곰 2020.05.01 1124
70 ORACLE 오라클 CASE문 사용법 CASE WHEN THEN END file 졸리운_곰 2020.04.27 1715
69 [ORACLE] CASE WHEN ~ THEN ~ ELSE END file 졸리운_곰 2020.04.27 1227
68 [Oracle|오라클] PLS-00323: 부프로그램 또는 '******' 커서는 패키지 지정에 정의되고 패키지 본체에 나타나야합니다 졸리운_곰 2020.04.16 1129
67 [오류] ORA-01861 literal does not match format string (리터럴이 형식 문자열과 일치하지 않음) 졸리운_곰 2020.03.12 1038
66 ORA-01861: literal does not match format string file 졸리운_곰 2020.03.12 1422
65 개발자 환장하는 "ORA-01861: literal does not match format string" 졸리운_곰 2020.03.12 1235
64 [Oracle|오라클] INTERVAL 날짜 년 빼기 더하기 (ADD_YEARS) file 졸리운_곰 2020.03.11 1544
63 [오라클] 데이터 중복제거 방법 (distinct, group by, 성능) file 졸리운_곰 2020.03.04 1392
62 PLS-00410: RECORD,TABLE 또는 인수 목록에 중복 필드가 허용되지 않습니다 졸리운_곰 2020.03.02 1334
61 PLS-00323: 부프로그램 또는 '******' 커서는 패키지 지정에 정의되고 패키지 본체에 나타나야합니다 졸리운_곰 2020.03.02 1802
60 Oracle/PLSQL]5.패키지 작성 졸리운_곰 2020.03.02 1148
59 ORACLE 패키지의 이해 졸리운_곰 2020.03.02 1540
58 오라클(ORACLE) 패키지 만들기 졸리운_곰 2020.03.02 1277
57 Oracle 요약 4 졸리운_곰 2020.02.22 1087
56 Oracle 요약 3 file 졸리운_곰 2020.02.22 1670
55 Oracle 요약 2 졸리운_곰 2020.02.22 1735
54 Oracle 요약 1 졸리운_곰 2020.02.22 1370
53 [Oracle] 조횟수, 다운횟수 자동증가 하기 졸리운_곰 2018.01.22 1421
52 오라클 SELECT결과로 UPDATE 하기 졸리운_곰 2018.01.22 1624
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED