Search code examples
mysqlselectstored-procedurescreate-table

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


I want to select values from basic2 and insert into basic3 and basic4 using stored procedure.

These are the table definitions:

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)
);

this is the new_person store procedure

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;

Solution

  • We can do it by two way one for using cursor and another is using SELECT with insert i thing for you SELECT is better

    Like this

    INSERT INTO basic3 (name,address) SELECT name, address FROM basic2;