뷰에서 선택한 레코드를 가져 오는 테스트 저장 프로 시저를 만들었습니다. 나는 SQL Server Management Studio를 사용하여 2012 년 내가 그것을 만드는 데 사용되는 코드는 다음과 같습니다저장 프로 시저 실행시 매개 변수 선언
create procedure [dbo].[andytest]
@CpnyID char(3)
, @FiscYr char(4)
, @LedgerID char(10)
, @Acct char(10)
as select * From dbo.view_Normal_AcctHist_Leads_AllEntities
where CpnyID in(@CpnyID)
and FiscYr in(@FiscYr)
and LedgerID in(@LedgerID)
and Acct in(@Acct)
I을 실행 사용 : 내가 눈치 챘을
exec andytest
@CpnyID= '131'
,@FiscYr='2014'
,@LedgerID='Actual'
,@Acct='637100'
때 '실행'으로 내가 스크립트 절차를
DECLARE @CpnyID char(3)
DECLARE @FiscYr char(4)
DECLARE @LedgerID char(10)
DECLARE @Acct char(10)
-- TODO: Set parameter values here.
set @CpnyID= '131'
set @FiscYr='2014'
set @LedgerID='Actual'
set @Acct='637100'
EXECUTE [dbo].[andytest]
@CpnyID
,@FiscYr
,@LedgerID
,@Acct
내 질문 실행할 때 왜 절차는 필요를 만들 때 정의 된 변수를 다시 선언 할 것이다 내가이 페이지에서 사용해야하는 방법 문제를 수행합니다, 오는 코드는 관절 사건?
감사
, 앤디
스크립트 실행을 사용하면 매개 변수가 생성됩니다. 일반적으로 저장 프로 시저를 호출 할 때는 하드 코드 된 값이 아니라 매개 변수를 전달합니다. 또한 프로 시저 코드에주의하십시오. = 대신 IN을 사용 중입니다. 구분 된 목록을 매개 변수의 값으로 전달하고 프로 시저에서 목록을 반환 할 수 있다고 생각합니다. 매개 변수가 그런 식으로 작동하지 않습니다. –
답변과 의견을 보내 주셔서 감사합니다. 그들은 모두 도움이되었다. – Andy