Please give me an working example of MySQL Stored Procedure with DELETE, INSERT, and SELECT, which should be something like this
begin delete from TEMP_DATA where SEQ_ID = 614 ; INSERT INTO TEMP_DATA (COL1, COL2, COL3, COL4, COL5, COL6, COL7, SEQ_ID, LASTUPDATE, USER_CODE) SELECT item_code, item_name,rate, um, item_catg_code, (SELECT item_catg_name from item_catg_mast C where C.item_catg_code = I.item_catg_code) item_catg_name,item_desc, 614 SEQ_ID, SYSDATE() LASTUPDATE, 'AKASH' USER_CODE FROM item_mast I; end;
I have written this query but not getting expected output.
Try something like below:
CREATE PROCEDURE sp_crud_test (IN
user_id int, IN user_nickname varchar(10),
IN country_name varchar(10),IN city_name varchar(10))
BEGIN
delete from 111test;
SELECT u.user_id, u.user_nickname, u.country_id, u.city_id, u.avatar_id,
(SELECT name FROM countries WHERE id = u.country_id) country_name,
(SELECT name FROM cities WHERE id = u.city_id) city_name
FROM users_onsite uo
LEFT JOIN users u ON u.user_id = uo.user_id
WHERE u.avatar_id > 0;
INSERT INTO 111test (type,user_id,some_datas1,some_datas2,some_datas3)
values (53,user_id,user_nickname,country_name,city_name)
END
Than call it like
CALL sp_crud_test(10,'tk','US','london')
Try for inserting table using select statement:
CREATE PROCEDURE sp_crud_test
BEGIN
delete from 111test;
INSERT INTO 111test (type,user_id,some_datas1,some_datas2,some_datas3)
SELECT '53' as type, u.user_id, u.user_nickname,
(SELECT name FROM countries WHERE id = u.country_id) country_name,
(SELECT name FROM cities WHERE id = u.city_id) city_name
FROM users_onsite uo
LEFT JOIN users u ON u.user_id = uo.user_id
WHERE u.avatar_id > 0;
End
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.