存储过程:如何插入关系数据


Stored procedure : how to insert the relational data?

如何将插入的值 id 插入到存储过程相同功能的另一个表中?

例如:

CREATE PROCEDURE p1(IN id_val INT, IN name_val VARCHAR(255))
    BEGIN
    DECLARE @iJobID [INT]
    SET @iJobID=(INSERT INTO test(id, name) VALUES(id_val, name_val));
    INSERT INTO vasu(id) VALUES(@iJobID); 
END;
您可以使用

LAST_INSERT_ID()获取上次插入的 ID 并将其设置在局部变量上。

DELIMITER $$
CREATE PROCEDURE p1 
(
    IN id_val INT, 
    IN name_val VARCHAR(255)
)
BEGIN
    INSERT INTO test(id, name) VALUES(id_val, name_val);
    SET @iJobID :=  LAST_INSERT_ID();
    INSERT INTO vasu(id) VALUES(@iJobID); 
END $$
DELIMITER ;
  • LAST_INSERT_ID()