Vous avez pas vraiment donné beaucoup d'informations à travailler mais peut-être quelque chose comme cela va faire
drop procedure if exists p;
delimiter $$
create procedure p()
BEGIN
declare cat_name varchar(100);
declare cat_id int;
select id,username into cat_id,cat_name
from users where id= 1;
select cat_name,cat_id from dual;
END $$
delimiter ;
Lorsque les utilisateurs ressemble à ce
MariaDB [sandbox]> select * from users;
+----+----------+--------------+--------+---------------------+---------------------+--------+-------------+-----------+
| id | userName | photo | status | ts | events_participated | fb_uid | Column_name | post_type |
+----+----------+--------------+--------+---------------------+---------------------+--------+-------------+-----------+
| 1 | John | john.png | 1 | 2016-12-08 13:14:24 | 1 | 1 | 12346 | photo |
| 2 | Jane | jane.png | 1 | 2016-12-08 13:14:24 | NULL | 2 | 12346 | photo |
| 3 | Ali | | 1 | 2016-12-08 13:14:24 | NULL | 3 | 12346 | photo |
| 6 | Bruce | bruce.png | 1 | 2016-12-08 13:14:24 | NULL | 6 | 12346 | photo |
| 7 | Martha | | 1 | 2016-12-08 13:14:24 | NULL | 7 | 12346 | photo |
| 8 | Sidney | | 1 | 2016-12-08 13:14:24 | NULL | 8 | 12346 | photo |
| 10 | Charlie | charlie.png | 1 | 2016-12-08 13:14:24 | NULL | 10 | 12346 | content |
| 12 | Elisa | | 1 | 2016-12-08 13:14:24 | NULL | 12 | 12346 | content |
| 14 | Samantha | samantha.png | 1 | 2016-12-08 13:14:24 | NULL | 14 | 12346 | content |
| 15 | Hannah | hannah.png | 1 | 2016-12-08 13:14:24 | NULL | 15 | 12346 | content |
| 16 | Hannah | | 1 | 2016-12-08 13:14:24 | NULL | 16 | 12346 | content |
| 17 | Kevin | kevin1.png | 1 | 2016-12-08 13:14:24 | NULL | 17 | 12346 | content |
| 18 | Kevin | kevin2.png | 1 | 2016-12-08 13:14:24 | NULL | 18 | 12346 | content |
| 19 | Ruth | | 1 | 2016-12-08 13:14:24 | NULL | 19 | 12346 | content |
| 20 | xyz | NULL | NULL | 2017-08-18 12:54:40 | NULL | NULL | NULL | content |
+----+----------+--------------+--------+---------------------+---------------------+--------+-------------+-----------+
15 rows in set (0.01 sec)
Lorsqu'il est appelé le résultat est
MariaDB [sandbox]> call p();
+----------+--------+
| cat_name | cat_id |
+----------+--------+
| John | 1 |
+----------+--------+
1 row in set (0.01 sec)
Vous ne pouvez pas insérer plusieurs lignes dans une variable. Pouvez-vous développer votre question pour expliquer ce que vous essayez de faire avec le code que vous avez jusqu'à présent. –
@ P.Salmon J'essaie d'obtenir des valeurs de colonne dans des variables afin que je puisse faire une manipulation avant de l'insérer dans une autre table. 'BEGIN declare @cat_name varchar (100); déclare @id int; select @cat_name = nom_catégorie, @id = last_id de la catégorie où category_id = v_type; END' mais ça me donne une erreur. – mujtaba
Les variables déclarées ne doivent pas commencer par @ dans un programme stocké (procédure dans ce cas) –