日期:2014-05-16  浏览次数:20710 次

存储过程内部,SQL间传值问题
背景
一个mysql存储过程,内有两句SQL。
第一句SELECT id from xxx where ....;
第二句使用第一句查询结果的ID,在另外的表插入一条新数据。


问题:
如何在第二句中使用第一句查出来的id?


------解决方案--------------------
SELECT id into @aid from xxx where ....;
select * from tt where id=@aid ;

------解决方案--------------------
创建一个变量v_id
select id into v_id from xxx where ....
insert into *** values (v_id,....)
------解决方案--------------------
可以直接使用一句。
insert into 另外的表 select id , '12321' as newCol from xxx where ....;
------解决方案--------------------
+1
探讨

可以直接使用一句。
insert into 另外的表 select id , '12321' as newCol from xxx where ....;