티스토리 뷰

Sybase) Stored Procedure 결과를 Table 처럼 가져오기

Sybase 의 CIS (Component Integration Service) 기능을 활용하여
Stored Procedure 결과를 Table 처럼 SELECT 하는 예제를 소개하겠습니다.

  • 먼저, 'enable CIS' configuration 이 활성화 되어야 합니다.
sp_configure 'enable CIS', 1
  • Remote Server 로 자기 자신을 지칭하는 loopback 서버를 추가합니다.
sp_addserver ‘loopback’, ‘ASEnterprise’, <SERVER NAME>. 
  • 테스트 프로시져를 생성합니다. DB 는 pubs2 를 활용했습니다.
create procedure sp_test
    @p_au_id varchar(11)
as
begin
    select
         au_id
        ,au_lname
        ,au_fname
        ,phone
    from pubs2..authors
    where au_id = @p_au_id

    return 0
end
go
  • CREATE EXISTING TABLE 구문을 사용하여 Proxy 테이블을 생성합니다.
  • 주의사항은, Stored Procedure의 파라미터가 Proxy 테이블에 컬럼으로 위치해야 한다는 점입니다.
    • 파라미터명 앞에 _(UnderScore) 를 붙여야 합니다.
      • Ex) p_au_id → _p_au_id
    • 파라미터 컬럼은 일반 데이터 컬럼의 뒤쪽에 위치 해야 합니다.
create existing table authors_proxy
(
    au_id varchar(11) not null,
    au_lname varchar(40) not null,
    au_fname varchar(20) not null,
    phone char(12) not null,
    _p_au_id varchar(11) null
)
external procedure at 'loopback.pubs2.dbo.sp_test'
go
  • 아래처럼 SELECT 가 가능합니다.
  • WHERE 조건에 파라미터에 넣은 값이 Stored Procedure의 파라미터로 사용됩니다.
select *
from authors_proxy
where _p_au_id = '238-95-7766'

'RDBMS > Sybase & SQLServer' 카테고리의 다른 글

SQLServer, Sybase) 컬럼에 Default 속성 추가하기  (0) 2016.08.03
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함