簡體   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