Forced accept.
Computer101
EE Admin
Main Topics
Browse All TopicsHi Guys,
I need to create stored procedure on mysql.
Basically I have 2 tables in MySql the structure are identical, I need to take data from table 1 if it exists in table 2 then update if it does not exist then insert. We are using SKU as the auto increment
CREATE DEFINER=`root`@`localhost`
BEGIN
If exists (select table1.cost from table1, table2 where table1.sku=table2.sku) then
UPDATE table2 SET table2.cost= table1.cost WHERE table2 sku.id= table1.sku;
else
INTO table2 (cost) VALUES(table1.cost);
end if;
END
I know my example is very poor, but I have never really used Stored procedures. Thanks Guys for your help!
This Question has been solved and asker verified All Experts Exchange premium technology solutions are available to subscription members.
Experts Exchange has been collecting answers to technology questions since 1996…3 million and counting! If you have a question, chances are we already have your answer.
If you can't find the exact answer you're looking for, ask our exclusive community of 50,000 experts. You’ll get a personalized answer from a trusted professional.
Thousands of free tech tips, tricks, how-to’s and tutorials are available in our peer reviewed articles section. See for yourself how smart our experts are, no login required.
Access the answers to your technology questions today.
30-day free trial. Register in 60 seconds.
Members of the expert community talk about why the experience at Experts Exchange is different than what you will find anywhere else.

Try it out and discover for yourself.
30-day free trial. Register in 60 seconds.
Join the community of experts here and help other tech pros by answering question in your area of expertise. You can earn FREE access to all Experts Exchange's premium features and resources.
Business Accounts
Answer for Membership
by: todd_farmerPosted on 2007-07-31 at 11:39:11ID: 19603008
Everything between BEGIN and END needs to be a valid SQL statement or part of the flow control (IF/ELSE, etc.) operators. This probably does what you are looking for:
PROCEDURE `test`()
CREATE DEFINER=`root`@`localhost`
BEGIN
UPDATE table2, table1 SET table2.cost= table1.cost WHERE table2 sku= table1.sku;
iNSERT INTO table2 (sku, cost) SELECT table1.sku, table1.cost FROM table1 LEFT JOIN table2 ON (table1.sku = table2.sku)
WHERE table2.sku IS NULL;
end if;
END