简体   繁体   中英

MySQL Stored Procedure with DELETE, INSERT, and SELECT

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM