1
我讀過手冊,我可以創建簡單的存儲過程。 它的工作很好。但現在我需要創建複雜,我的程序包括DELETE,SELECT和INSERTMYSQL創建存儲過程包括DELETE,SELECT和INSERT
第一:
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')
所以,我的程序是:
BEGIN
DECLARE var_user_id INT(50);
DECLARE var_some_datas1 varchar(255);
DECLARE var_some_datas2 varchar(255);
DECLARE var_some_datas3 varchar(255);
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,var_user_id,var_some_datas1,var_some_datas2,var_some_datas3);
END
結果:您的SQL語句已經執行受的最後一條語句的程序
內成功1172行,但插入表111test零行。
請有人幫助我。
是的,我已經嘗試喜歡你的。 結果: 您的SQL查詢已成功執行 受過程中最後一條語句影響的1172行 但在表111test中插入了ZERO行。 我加: DECLARE var_user_id INT(11); DECLARE var_some_datas1 INT(11); DECLARE var_some_datas2 INT(11); DECLARE var_some_datas3 INT(11); 但結果相同。 – TKVideoChat
@TKVideoChat,現在查看編輯答案。您需要將參數傳遞給過程。 – Rahul
當我嘗試創建過程時,出現錯誤:'您的SQL語法出錯;在@ user_id int,IN @user_nickname varchar(10), IN @country_name varchar(10),IN @c'第2行' – TKVideoChat