1.在命令中应设置分隔符。
2.有输入输出参数要标明,应以begin开始,end 加分隔符结束。
3.参数、变量均不能和列名一样。就算有大小写区分也不行。
简单例子如下:
DELIMITER //
Create PROCEDURE sp_GetTeacherByCornet ( in CORNET int(11) )
BEGIN
Select t.Id,t.Exceptionid,dept.name,t.name,t.cornet,t.pass
FROM teacher t,department dept
Where t.Exceptionid = dept.Id AND t.cornet LIKE CONCAT('%',CORNET,'%');
END //
带循环的例子:
DELIMITER //
Create PROCEDURE sp_InsertID ( in IMAGE_ID_START int(11), in IMAGE_ID_END int(11),in TAG_ID int(11))
BEGIN DECLARE i INTEGER;
SET i=IMAGE_ID_START;
WHILE i<=IMAGE_ID_END DO BEGIN
Insert piwigo_image_tag(image_id,tag_id) VALUES(i,TAG_ID);
SET i=i+1;
END;
END WHILE;
END//
执行存储过程:
call sp_InsertID(1,5)