2012-06-28 2 views
1

Я хочу хранить данные, возвращенные из хранимой процедуры, в таблицу. Я пробовал это.Вставить в таблицу в качестве возврата данных из хранимой процедуры

insert into table1 call sp_test(); 

но это не удается.

как это сделать?

+0

возможно дубликат [MySQL Как INSERT INTO \ [temp table \] FROM \ [Хранимая процедура \]] (http://stackoverflow.com/questions/687102/mysql-how-to-insert-into-temp-table-from-stored-procedure) –

ответ

1

Попробуйте

call sp_test(@var)  
insert into table1 (select @var); 

И в процедуре есть Шоуда быть из переменной в качестве аргументов

+0

Это начало установки ht answer: вы не можете перенаправить или использовать «выход» хранимых процедур. Ответ будет лучше дополнен тем, как должна выглядеть внутренняя часть хранимой процедуры. – snooze92

0

Если он возвращает данные, это stored function, not a stored procedure. В этом случае вы не используете CALL, а просто использовать его в INSERT … SELECT заявлении, как это:

INSERT INTO table1 SELECT sp_test() 
+1

не является хранимой процедурой –

+0

Затем у нее должны быть параметры, чтобы возвращать что-либо через них, а ваш пример не указывал. В противном случае результат ваших запросов внутри SP будет потерян после возвращения процедуры. – MvG

0

для function использования select

insert into table1 select sp_test(); 

how to insert into...stored-procedure

+1

my sp возвращает более одной строки, а функция возвращает только одно значение –

Смежные вопросы