mysql存储过程

DROP PROCEDURE IF EXISTS `user1234`;      
DELIMITER //                              
CREATE PROCEDURE `user1234` (IN u VARCHAR(255)) 
LANGUAGE SQL  
DETERMINISTIC  
SQL SECURITY DEFINER
COMMENT '查询用户'
BEGIN
SELECT * FROM `user`;
INSERT INTO `user`(name,age,sex,address) VALUES('wang','19','男','广西');
END//
DELIMITER;
call `user1234`('张三')

1.DROP PROCEDURE IF EXISTS 【存储过程名】

(如果存储过程存在删除后创建!如果不写只能执行一次)
2.DELIMITER //  

(将每句结束符号;换成//)
3.CREATE PROCEDURE `存储过程名`(参数)

(创建一个存储过程(参数列表【IN 输入参数【out 输出参数 inout输入输出参数】  u 参数名 参数类型 】))

4.LANGUAGE sql
 (存储语句为sql了语句)

5.DETERMINISTIC【not DETERMINISTIC】
(表示存储过程对同样的输入参数产生相同的结果【表示会产生不确定的结果(默认)。】)

6.SQL SECURITY DEFINER

(

SQL SECURITY

DEFINER默认为当前用户,也可指定其他用户。如果想通过访问者来判断是否具有访问该PROCEDURE 的权限,则可用SQL SECURITY指定。

)

7.COMMENT ‘’

(对存储过程描述类似于java)

8.BEGIN 方法体开始
...     写sql语句
END//方法体结束

9. call XX

(调用存储过程XX为存储名)

猜你喜欢

转载自my.oschina.net/u/3535099/blog/1794328