1

如何在存储过程的相同功能中将插入的值 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;
4

1 回答 1

2

您可以使用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 ;
于 2013-01-28T14:04:51.333 回答