从 table 到 select 列的存储过程并插入到 mysql 中的多个 table

Stored procedure to select column from table and insert to multiple table in mysql

我想 select 来自 basic2 的值并使用存储过程插入 basic3basic4

这些是 table 定义:

create table basic2(
    id int AUTO_INCREMENT,
    name varchar(50),
    address varchar(50),
    PRIMARY KEY (id)
);

create table basic3(
    id int AUTO_INCREMENT,
    name varchar(50),
    address varchar(50),
    PRIMARY KEY (id)
);

create table basic4(
    id int AUTO_INCREMENT,
    name varchar(50),
    address varchar(50),
    PRIMARY KEY (id)
);

这是 new_person 存储过程

drop procedure if exists new_person;
DELIMITER // 
CREATE PROCEDURE new_person 
    select (id, name,address)
    from basic2;
    BEGIN

        START TRANSACTION;
        INSERT INTO basic3 (id,name,address) 
                VALUES(LAST_INSERT_ID(),bname,baddress);

        INSERT INTO basic4 (id,name,address) 
                VALUES(LAST_INSERT_ID(),bname,baddress); 

        COMMIT;
    END//

    DELIMITER;

我们可以通过两种方式做到这一点,一种是使用光标,另一种是使用 SELECT 并插入我的东西 SELECT 更好

喜欢这个

INSERT INTO basic3(名称,地址) SELECT 名称,地址来自 basic2;