Search code examples
mysqlmysql-error-1064

creating a stored procedure in MySQL


I am running following query but it is showing me an error..

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'end' at line 18

 DELIMITER //
    create procedure usp_ItemAdd(
    p_itemname varchar(50),
    p_company varchar(50),
    p_model varchar(50),
    p_unit varchar(10),
    p_photo varchar(12),
    p_color varchar(50),
    p_size varchar(50),
    p_weight varchar(20),
    p_stock varchar(20)
)
begin
  insert into item_tbl(
item_name,company,model_no,unit,photo,color,size,weight,stock
)
values(
  p_itemname,p_company,p_model,p_unit,p_photo,p_color,p_size,p_weight,p_stock
  )
end //
DELIMITER ;

Solution

  • Add delimiter and finish insert statement with ;

    delimiter $$
    create procedure usp_ItemAdd(
        p_itemname varchar(50),
        p_company varchar(50),
        p_model varchar(50),
        p_unit varchar(10),
        p_photo varchar(12),
        p_color varchar(50),
        p_size varchar(50),
        p_weight varchar(20),
        p_stock varchar(20)
    )
    begin
        insert into item_tbl(
        item_name,company,model_no,unit,photo,color,size,weight,stock
    )
    values(
        p_itemname,p_company,p_model,p_unit,p_photo,p_color,p_size,p_weight,p_stock
    );
    end $$
    delimiter ;