안녕하십니까. SQL에 익숙하지 않고 저장 프로 시저에 문제가 있습니다. 먼저 SQL 2008을 사용하고 있습니다. 차이가 있는지 여부는 알 수 없습니다. 그래서 여기에 내 문제가있다. 내가 저장 프로 시저, 다른 값이 전달되고있는 연속 2 회 호출합니다. (BTW, 난 그냥 with recompile
부분을 추가했다. 그것은 도움이되지 않습니다)저장 프로 시저 - 두 번째 호출에서 오류 발생
EXECUTE crstored.sp_hhcAllActivityInstreamLoop
@measureVarIDName ='staticPayact6moID'
,@measureSuppVarIDName ='payact6moID'
,@measureDesc ='payact6moDesc'
,@measureSuppTable ='crsupp.payact6mo'
WITH RECOMPILE;
GO
EXECUTE crstored.sp_hhcAllActivityInstreamLoop
@measureVarIDName ='staticJourneyID'
,@measureSuppVarIDName ='journeyID'
,@measureDesc ='journeyDesc'
,@measureSuppTable ='crsupp.journey'
WITH RECOMPILE;
GO
내가 전화를 처음으로, 그것은 것 운영. 두 번째로 다음을 얻습니다.
msg 16, 상태 1, 줄 20 잘못된 열 이름 'staticJourneyID'입니다. 메시지 207, 수준 16, 상태 1, 줄 20 잘못된 열 'staticJourneyID'.
이 문제를 해결하기 위해 저장 프로 시저를 삭제합니다. 반쯤 다시 컴파일하면 아무것도 수행하지 않지만 매개 변수를 가져 와서 매개 변수 중 하나를 사용하여 간단한 선택을 수행하십시오. 그것을 실행하십시오. 저장 프로 시저를 삭제하십시오. 전체 절차를 다시 컴파일하십시오. 그런 다음 2 차 통화를 위해 실행할 수 있습니다. 그러나 이제는 JourneyID에 대해서만 실행되도록 설정되었으며 payAct6mos 변수로 돌아가서 호출해야한다면 같은 삭제, 다시 컴파일, 실행 시나리오를 실행해야합니다. 누구든지 어떤 제안이 있습니까? 지금 당장 생각할 수있는 유일한 점은 같은 이름의 다른 두 개의 복사본을 갖는 것입니다. 나는 그것을 유지하는 것을 싫어한다. 그것은, 그러나 때문에 나는 매개 변수를 사용하고 방법의 차이가 있는지
또한, 나도 몰라, 내가 가진 저장 프로 시저에 내 코드를 둘러싸 들었다 :
select @[email protected]+' type line of code here '
감사합니다!
단지 내 문제에 대한 후속 조치. 나는 그것을 알아. 내가 말했듯이, 나는 SQL의 초보자 일뿐입니다. 그래서, 내가 떨어 뜨리고 있던 테이블을 밝혀 냈습니다. SP에서 동적 SQL을 사용하지 않았습니다. "일반"SQL을 사용하여 삭제 한 즉시 호출이 정상적으로 실행되었습니다. 왜 그런지는 모르겠지만, 당신은 그것을 가지고 있습니다. 모든 사람의 도움에 감사드립니다.
저장 프로 시저 코드를 보여줍니다. – RBarryYoung
너무 많은 문자 때문에 SP를 게시 할 수 없습니다. – user2370154