2013-07-02 13 views
7

Sto iniziando a tirare i capelli qui è qualcosa di simile anche possibile?MySql imposta più variabili da una selezione

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

Quanto sopra non funziona, ma sto cercando di capire come realizzarlo. Il mio obiettivo finale qui è chiamare un select e quindi chiamare proc memorizzati con i dati da select.
Grazie

risposta

7

Partenza come è stato fatto here o here

non ho avuto molte opportunità di codificare in MySQL, e SELECT ... INTO viene utilizzato in T-SQL per creare una tabella temporanea sul volare. Sono stato sorpreso di apprendere che ha più funzionalità in MySQL.

12

Questo ha funzionato per me.

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

Grazie a Zec. Il primo collegamento mi ha aiutato a capire la sintassi corretta o almeno quello che funziona per me.

4

Per MySQL, si prega di dare un'occhiata questo codice di esempio:

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

quando ho eseguito questo attraverso mysql_query() la funzione, allora non funziona –

Problemi correlati