database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 7210 게시물 읽기
No. 7210
오라클 프로시져를 MSSQL SP로 변환하는데 도움이 필요합니다.
작성자
정희준
작성일
2020-04-07 14:26
조회수
1,861

 오라클을 MSSQL로 마이그레이션 하는 프로젝트를 시작할려고 합니다.

 

데이터베이스는 마이그레이션을 어느정도 완료 했는데 Stored Procedure에서 어려움을 겪고 있습니다.

 

개략적인 내용은 이렇습니다.

 

Oracle

PROCEDURE GET_XXX_INFO(N_RETURN  OUT  NUMBER,

                                                    V_RETURN  OUT  VARCHAR2,

                                                    C_RETURN OUT SYS_REFCURSOR)

IS

BEGIN

    OPEN C_RETURN FOR

           SELECT  ~~

           FROM a;

 

           N_RETURN := 0;

           V_RETURN := '정상처리 완료';

     EXCEPTION

          WHEN OTHERS THEN

                 N_RETURN := 2;

                 V_RETURN := SQLERRM;

END

위의 내용을 MSSQL로 변환 하는데 도움이 필요합니다.

MSSQL:

ALTER PROCEDURE GET_XXX_INFO

(

    @N_RETURN  INT  OUT,

    @V_RETURN VARCHAR(100) OUT

)

AS

BEGIN

  SET @N_RETURN = 1

  SET @V_RETURN = '정상적으로 수행되었습니다.'

  SELECT 'ONE'  AS Col1;

  IF @ERROR <> 0

      BEGIN 

           SET @N_RETURN = @ERRCODE

           SET @V_RETURN = @ERRMSG

     END

END

이런 식으로 하면 될까요?

    

이 글에 대한 댓글이 총 1건 있습니다.

오라클 프로시저 내용이  

SELECT *  FROM a   보여 주는 것이라면 

MSSQL 프로시저는 

CREATE PROCEDURE GET_XXX_INFO

(

    @N_RETURN  INT  OUT,

    @V_RETURN VARCHAR(100) OUT

)

AS

BEGIN TRY 

   SELECT *

    FROM a

END TRY

BEGIN CATCH

     SET @N_RETURN = 2

     SET @V_RETURN = ERROR_MESSAGE()

     RETURN 

END CATCH 

 

SET @N_RETURN = 0

SET @V_RETURN = '정상처리완료'

 

SELECT 내용만 보여준다면  

TRY CATCH 문 없이 그냥 SELECT 문만 기술 하셔도 됩니다. 

 

UPDAT, INSERT,DELETE 문을 같이 이용할때는 

BEGIN TRAN 

 

COMMIT TRAN , ROLLBACK TRAN 을 같이 사용하기도 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

지나가다가님이 2020-05-23 23:39에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
7213또다른 조합 sql [3]
빨간모자
2020-04-09
1992
7212도와주세요~ 10분에 10개의 다른 종류 과일 찾기 [1]
유아무개
2020-04-09
1859
7211순열 SQL 입니다.. 중복되지 않는 조합식으로 바꾸려 합니다.. [4]
빨간모자
2020-04-09
1917
7210오라클 프로시져를 MSSQL SP로 변환하는데 도움이 필요합니다. [1]
정희준
2020-04-07
1861
7209한번 더 도와 주세요.. 부탁 드립니다. [2]
초보초보
2020-02-19
2050
7208근사값 찾는 쿼리 한번 더 부탁 드립니다. 죄송합니다. [2]
초보초보
2020-02-18
1960
7207근접 값 찾기... [5]
초보초보
2020-02-17
1898
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.051초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다