我可以在单个存储过程中使用select sql输出作为Insert sql的输入吗?

时间:2015-06-28 16:53:53

标签: mysql stored-procedures

我想从select语句中检索一个值,并在insert语句中使用它。但是,这两个操作都要在单个存储过程中完成。我正在尝试下面的东西。

CREATE PROCEDURE Illness_sp (IN DoctorNameIn varchar(255), IN IllnessNameIn varchar(255), IN IllnessSevIn int(10))
BEGIN
select doctorId from doctor where DoctorName=DoctorNameIn;
INSERT INTO Illness(IllnessName, IllnessSeverity, PreferredDoctorId) Values(IllnessNameIn, IllnessSevIn, doctorId);
END

我在这个存储过程中有两个语句:

  1. doctorId语句中检索SELECT;和

  2. 希望INSERT将其插入第二个声明中的另一个表格。

1 个答案:

答案 0 :(得分:0)

INSERT INTO `Illness`(IllnessName, IllnessSeverity, PreferredDoctorId)
SELECT IllnessName, IllnessSeverity, PreferredDoctorId
FROM `SomeTable`
WHERE ...