2011-04-27 2 views
3

비슷한 질문에 대한 SQL - 서버 here 묻습니다. MySQL에서 가능한지 궁금합니다.보기에서 저장 프로 시저를 호출 할 수 있습니까?

편집 : 내가보기에 프로 시저에서 반환 된 결과 집합을 사용할

.

+0

[이 스레드 (http://stackoverflow.com/questions/2281890/can-i-create-view-with-parameter -in-mysql) 도움이 될 수 있습니다. 즉,보기 정의 본문에 사용 된 함수로이 작업을 수행 할 수 있습니다. – dawebber

+0

@ dawebber : 이전에이 스레드를 보았지만 관련성이 있는지 확실하지 않습니다. 보기에 매개 변수가있는 저장된 함수를 호출하는 방법을 알려줍니다. 내가 틀렸다면 나에게 정정 해주세요. – understack

+0

SP에 전화하고 싶으십니까? 나는 당신이 SP에 전화하기를 원한다고 가정하고 싶지 않았기 때문에 제 대답에 기능이라는 단어를 언급했습니다. – dawebber

답변

3

결과 세트를 가져오고 FROM 절에서 루틴을 사용하려면 - 아니오. MySQL의 저장된 루틴 (프로 시저 또는 함수)은 테이블을 결과 값으로 반환 할 수 없습니다.

하지만 당신은 예를 들어, 간단한 값으로 기능을 사용할 수 있습니다 -

DELIMITER $$ 

CREATE FUNCTION mul10(Param1 INT) 
RETURNS INT(11) 
BEGIN 
    RETURN Param1 * 10; 
END 
$$ 

DELIMITER ; 

CREATE OR REPLACE VIEW view1 
AS 
SELECT mul10(2) AS column1; 

SELECT column1 FROM view1; 
---------- 
20 
+0

첫 번째 문장이 내 질문에 대한 답이라고 생각합니다. 프로 시저에서 결과 집합을보기 위해 사용하고 싶었습니다. 나는 또한 질문을 편집했다. 감사. – understack

관련 문제