declare @p1 int
set @p1=88
declare @p7 int
set @p7=0
declare @p8 int
set @p8=0
declare @p9 int
set @p9=0
declare @p10 int
set @p10=0
declare @p11 int
set @p11=0
declare @p12 int
set @p12=0
declare @p13 int
set @p13=0
exec sp_prepexecrpc @p1 output,N'proc_name',@sDate1='2013-01-07',@sDate2='2013-03-07',@n1=0,@n2=0,@n3=@p7 output,@n4e=@p8 output,@n5=@p9 output,@n6=@p10 output,@n7=@p11 output,@n8=@p12 output,@n9=@p13 output,@n10=0,@n11=0
select @p1, @p7, @p8, @p9, @p10, @p11, @p12, @p13
proc_name 이프로시져가요 @sDate1 부터 매개변수를 받는데요..
맨 앞에 exec sp_prepexecrpc @p1 output, <-- 이부분이 뭘 의미 하는지를 모르겠습니다.
설명서에는
RPC 식별자를 사용하여 지정된 매개 변수가 있는 저장 프로시저 호출을 준비 및 실행합니다. sp_prepexecrpc는 TDS(Tabular Data Stream) 패킷에서 ID = 14를 사용하여 호출합니다.
일케 나와 있는데..
정확히 의미 하는바가 무언가요 ㅠㅠ
감사합니다/
Comment 4
-
catchv
2013.03.07 17:24
-
minsouk
2013.03.08 17:41
.
-
처리짱
2013.03.08 19:31
우와~ 완전감사합니다~ 근데. 저게 특정프로시져에서만 나타나는 이유가 뭔가요 ? ㅠㅜ
-
minsouk
2013.03.08 20:24
준비물은 TeamViewer v6.0.17222 , Line (네이버 japan 메신저) 에 minsouk1 추가 후
연락 주시면 봐 드리겠습니다. 010-9967-0955 김민석 입니다.
보통 핸들(handle)은 Win32 프로그램을 해보셨으면 쉽게 이해 하실 수 있는데요.
Win32에서 핸들은 윈도우에게 어떤 자원을 내가 사용하겠다고 요청했을때 그것을 다룰수 있는 특정번호를 시스템이 사용자에게
넘겨줍니다 . 이것의 타입이 HANDLE 이라는 이름으로 정의 되어 있어서 Win32 프로그램 하는 사람들은 뭔가 사용할혀면 핸들을 얻는다고 표현하고 거의 모든 Win32 API는 handel을 인자로 받거나 리턴하는 구조를 이룹니다.
그래서 보통 시스템의 자원에 관해서 다룰때는 핸들을 무조건 얻어야 가능합니다.
(예 : 화면에 무언가를 그리기 위해서 시스템에게 Device Context Handle을 요청하여 그 핸들을 가지고 화면에 뭔가 그리게 됩니다.)
sp_prepexecrpc 같은 경우도 마찬가지라고 생각됩니다. 내가 사용하고자 하는 RPC 요청하고 그것을 처리 할 수 있는 번호를 받는다고 보시면 될 것 같습니다.
(이 프로시져가 어떤 용도인지는 저도 솔직히 모르겠습니다..^^;)
참고 Sp_CursorOpen,sp_CursorFetch,Sp_CursorClose 의 샘플들을 찾아 보시면 sp_prepexecrpc 같이 handle을 받아 처리하는 예들이 있습니다.(Sp_CursorOpen : 커서 핸들 얻고 ,sp_CursorFetch : 핸들로 커서 사용하고 , Sp_CursorClose : 커서 핸들을 반환)
이 구조를 보시면 이해가 쉽지 않을까 생각이 듭니다.
-- catchv