繁体   English   中英

具有DELETE,INSERT和SELECT的MySQL存储过程

[英]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;

我已编写此查询,但未获得预期的输出。

尝试以下操作:

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

比这样称呼它

CALL sp_crud_test(10,'tk','US','london')

尝试使用select语句插入表:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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