相似于java的方法java
1. 建立:sql
DELIMITER $$ #设置存储过程结束标记,防止混淆,这个符号能够本身设,用完后要改回';'
CREATE PROCEDURE pro_test( IN 参数名 类型 , OUT 参数名 类型, INOUT 参数名 类型) #表示传入参数,输出参数,同时输入输出的参数,能够多个。 BEGIN #sql语句 END $$
DELIMITER ;
2. 使用:测试
call 存储过程名(参数列表)ui
例子1:无参数spa
DELIMITER $$ CREATE PROCEDURE pro_test_no_parameter() BEGIN INSERT INTO userinfo VALUES(7,'person1','1990-01-01'); END $$ DELIMITER ; CALL pro_test_no_parameter();
命令行 和 sqlyog中不太同样- -sqlyog中能够的命令行必定能够, 命令行能够的sqlyog有时很差用。。。因此都用sqlyog测试命令行
例子2:无参数有变量code
DELIMITER $$ CREATE PROCEDURE pro_test_no_parameter1() BEGIN DECLARE a INT; SET a = 8; INSERT INTO userinfo VALUES(a,'person2','1990-02-02'); END $$ DELIMITER ;
CALL pro_test_no_parameter1();
例子3:有参数blog
#建立 DELIMITER $$ CREATE PROCEDURE pro_test_parameter( IN input INT, OUT output VARCHAR(20), INOUT param INT) BEGIN SET param = param + 1; SELECT username INTO output FROM userinfo WHERE uid = input; END $$ DELIMITER ; #使用 SET @p = 2; CALL pro_test_parameter(1, @output, @p); SELECT @output,@p; #显示结果
3. 删除:input
drop procedure 存储过程名;class
4.查看存储结构结构:
show create procedure pro_test_no_parameter;
不能修改内部的sql语句。