2013-06-20 6 views
0
선택

에서의 StoredProcedure의 outptut 포함 "다중 부분 식별자 calculateaverage를 바인딩 할 수 없습니다."와 같은 오류 어떤 생각을 어떻게 해결할 수 있을까요?내가이 같은 저장 프로 시저를

답변

4

저장 프로 시저가 필요하지 않습니다. 당신은 기능을 원한다. 출력

+0

는 성능 – AMH

+2

성능을 파괴 무슨 파괴 함수 구문이 아닙니다. 그것은 당신이 X라고 부르는 테이블의 모든 레코드에 대해 "복잡한 비즈니스 쿼리"를 반복적으로 실행하는 것입니다. 복잡한 비즈니스 쿼리가 저장 프로 시저에 있기 때문에 그냥 사라지지 않습니다. 대신 비즈니스 논리의 일부 또는 전체를 구현하는보기를 만드는 것이 좋습니다. 그 대신 SELECT 및 JOIN을 할 수 있습니다. – catfood

2

를 사용하여 출력 변수 저장 프로 시저의 출력 데이터 :

create proc calcaulateavaerage 
@studentid int, @result int 
as 
begin 

-- some complecated business and query 

select @result = id from sometable; 
end 

-- Declaring output variable named result; 
declare @result int; 
-- Passing output variable to stored procedure. 
exec calculateaverage 1, @result; 

-- Now you can display the result or do whatever you like. 
print @result 
+0

SELECT 문의 WHERE 절에서 프로 시저 호출을 사용할 수 있다는 목표를 달성합니까? – catfood

관련 문제