2013-07-02 5 views
7

Zacząłem wyciągać moje włosy tutaj jest coś takiego, nawet możliwe?MySql ustawianie wielu zmiennych z jednego wyboru

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); 

Powyższe nie działa, ale staram się dowiedzieć, jak to osiągnąć. Moim ostatecznym celem jest wywołanie select a następnie wywołanie zapisanego proc z danymi z select.
Dzięki

Odpowiedz

7

Sprawdź, jak to się robi here lub here

Nie miałem wiele okazji, aby kod w MySQL, i SELECT ... INTO jest używany w T-SQL, aby utworzyć tabelę temp na latać. Byłem zaskoczony, gdy dowiedziałem się, że ma więcej funkcji w MySQL.

12

To zadziałało dla mnie.

 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); 

Dzięki Zec. Pierwszy link pomógł mi zrozumieć poprawną składnię lub przynajmniej to, co działa dla mnie.

4

dla MySQL, proszę spojrzeć ten przykładowy kod:

-- 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

gdy uruchamiam to poprzez mysql_query() funkcja to nie działa –