2013-07-02 3 views
7

여기 내 머리카락을 꺼내기 시작했습니다.MySql이 하나의 선택에서 여러 변수를 설정했습니다

DECLARE var1 int; 
DECLARE var2 int; 
DECLARE var3 int; 
SELECT var1:=id, var2:=foo, var3:=bar from page WHERE name="bob"; 
CALL someAwesomeSP (var1 , var2 , var3); 

위의 내용은 작동하지 않지만 어떻게 수행 할 것인지 파악하려고합니다. 내 궁극적 인 목표는 select에서 데이터를 사용하여 select 및 call 저장 프로 시저를 호출하는 것입니다.
감사

답변

7
그것이 내가 MySQL의 코드, 그리고 SELECT 훨씬 기회가 없었어요 ... INTO는에 임시 테이블을 만들 T-SQL에서 사용되는 here 또는 here

을 수행되고 어떻게

체크 아웃 파리. MySQL에 더 많은 기능이 있다는 것을 알면 놀랐습니다.

12

이것은 나를 위해 일했습니다.

 DECLARE var1 int; 
     DECLARE var2 int; 
     DECLARE var3 int; 
     SELECT id, foo, bar INTO var1, var2, var3 from page WHERE name="bob"; 
     CALL someAwesomeSP (var1 , var2 , var3); 

Zec에게 감사드립니다. 첫 번째 링크는 올바른 구문 또는 적어도 나를 위해 일하는 것을 이해하는 데 도움이되었습니다.

MySQL을 들어
4

, 모양이 예제 코드하시기 바랍니다 : 내가는 mysql_query()를 통해이 프로그램을 실행할 때

-- Init variables 
SET @var1 = 0; 
SET @var2 = 0; 
SET @var3 = 0; 
SELECT VALUE1, VALUE2, VALUE3 INTO @var1, @var2, @var3 FROM COOL_TABLE WHERE VALUE_ID = 12345; 

-- Then you can use declared variables 
SELECT * FROM ANOTHER_TABLE WHERE VALUE1 = @var1 AND VALUE2 = @var2 
+0

를 기능 다음은 작동하지 않습니다 –

관련 문제