存储过程
delimiter $$ 声明语句的结束符号,可以自定义 一般使用$$
CREATE PROCEDURE 过程的名称()
begin -- 开始编写存储过程
-- 执行的操作
end $$
一、创建的第一种方式(不带参,没有返回值)
-- 定义存储过程
DELIMITER $$
CREATE PROCEDURE demo1()
BEGIN
SELECT * FROM goods;
END $$
CALL demo1;
二、创建的第二种方式(有参无返回值)
DELIMITER $$
CREATE PROCEDURE demo2(IN did INT)
BEGIN
DELETE FROM goods WHERE gid = did;
END $$
CALL demo2(1)
三、创建的第三种方式(有参有返回值)
-- 向订单插入一条数据,返回1表示插如成功 方式三
DELIMITER $$
CREATE PROCEDURE demo3(IN o_oid INT,IN o_gid INT,IN o_price DOUBLE,OUT out_num INT)
BEGIN
-- 执行插入操作
INSERT INTO orders VALUES(o_oid,o_gid,o_price);
-- 设置num值为1
SET @out_num = 1;
-- 返回out_num值
SELECT @out_num;
END $$
-- 调用存储过程
CALL demo3(1,2,3,@out_num)
总结:
```sql
set @变量名=数值
in 输入
out 返回
select @变量名
```